Como você pode inserir quando está no modo de bloco visual (pressionando ctrl-V) no Vim?
Como você pode inserir quando está no modo de bloco visual (pressionando ctrl-V) no Vim?
Respostas:
Tente isto
Depois de selecionar um bloco de texto, pressione Shift+ iou capital I.
Letras minúsculas inão funcionarão.
Em seguida, digite o que deseja e, finalmente, para aplicá-lo a todas as linhas, pressione Escduas vezes.
Se isso não funcionar ...
Verifique se você +visualextra
ativou na sua versão do Vim.
Você pode fazer isso digitando :ver
e percorrendo a lista de recursos. (Você pode copiá-lo e colá-lo em um buffer e fazer uma pesquisa incremental porque o formato é ímpar.)
A ativação está fora do escopo desta pergunta, mas tenho certeza que você pode encontrá-la em algum lugar.
A
também!
vi
) não inclui o visualextra
recurso, portanto a inserção de bloco não funcionará lá. sudo apt-get install vim
traz uma versão mais completa, na qual visualextra
é ativada. @TylerCollier Esse também pode ser o mesmo problema na instalação do CentOS: verifique a saída de vim --version
para ver a lista completa dos recursos ativados.
ctrl + v
, você pode pressionar j
para selecionar rapidamente as linhas abaixo da posição atual ou pressionar k
para selecionar rapidamente as linhas acima da posição atual. Você também pode usar a shift
tecla com os erros up
ou down
para fazer a seleção.
i
, estou impressionado. Eu tenho usado :normal iINPUT<CR>
para inserir no início das linhas. Muito obrigado por isso!
Você também pode ter um caso de uso em que deseja excluir um bloco de texto e substituí-lo.
Como isso
Hello World
Hello World
Você pode selecionar o bloco visual antes de "W" e pressionar Shift+ i- Digite "Cool" - Pressione ESCe exclua "World" pela seleção visual do bloco.
Como alternativa, a maneira mais legal de fazer isso é apenas bloquear visualmente selecionar "Mundo" nas duas linhas. Digite cpara change
. Agora você está no insert
modo. Insira o material que você deseja e clique ESC. Ambos são refletidos com menos pressionamentos de tecla.
Hello Cool
Hello Cool
ESC
então toda a linha marcada mostrará o caractere digitado.
se você deseja adicionar um novo texto antes ou depois da coluna selecionada:
jj
para propagar as alterações para todas as linhas abaixo foi o último bit que estava faltando!
jj
é um assassino!