Digamos que eu tenha um bloco de texto como este:
// Comment1 // Comentário2 // Comment3
E eu quero acrescentar cada uma dessas linhas ao final das 3 linhas de código correspondentes:
foo = 1; bar = 2; baz = 3;
Para que o resultado final seja
foo = 1; // Comment1 bar = 2; // Comentário2 baz = 3; // Comment3
Existe uma maneira fácil de fazer isso no Vim?
Respostas:
Utilizar o modo de bloco visual ( Ctrl+ v) para seleccionar um conjunto de linhas, em seguida, quer you deles.
Então, se você selecionou a foo, bar, linhas baz usar o modo de bloco visual novamente para selecionar a primeira coluna das linhas de comentário e, em seguida, Shift+ p-los no lugar (ou se você selecionou as linhas de comentário, selecione a última coluna do foo bar baz linhas e peles no lugar.
Pegar o jeito do posicionamento pode exigir um pouco de prática, mas quando você tiver a habilidade, estará voando. Quando você seleciona um bloco, também pode usar Shift+ Apara acrescentar, por exemplo, espaços ao bloco (ao anexar, o novo texto aparecerá apenas na linha superior, mas quando você pressionar esc, ele aparecerá magicamente em todas as linhas selecionadas) . Da mesma forma, Shift+ ifará o mesmo no início do bloco selecionado em cada linha.
Você precisará limpar as linhas vazias depois.
Há também um ótimo episódio de vimcasts mostrando essas técnicas em mais detalhes.
fonte
:set ve=all
é muito versátil. Pessoalmente, uso o plug-in UnconditionalPaste ( vim.org/scripts/script.php?script_id=3355 ), pois ele se adapta às minhas necessidades um pouco melhor.Bem, se é fácil ou não, você me diz. Navegue para
// Comment 1
, cliquedd
para excluir. Navegue até a linha comfoo = 1;
e pressionep
, para colar abaixo da linha. Mova para cimafoo
novamente e pressioneJ
para entrar na linha. Tada.fonte
O seguinte fará exatamente o que você descreve:
Dependendo do que você realmente precisa fazer (em oposição ao exemplo), na prática, pode ser mais direto selecionar com bloco os // // Comment1 "etc. block ( Ctrlv), yank ( y), vá para o final do código bloquear e colar.
fonte