Por que você não seleciona 4 colunas e alcança c
?
<C-v>
2j
3l
cDone
<Esc>
Além disso, você pode usar :h normal
:
V
2j
:'<,'>norm 7lRDone
<Esc>
Talvez eu esteja procurando o caminho errado, mas não consegui descobrir como fazer isso.
Aqui está o cenário: Eu tenho uma lista em um arquivo de texto onde eu quero inserir a mesma palavra em várias linhas, aqui está um exemplo de texto:
12.1 Item1 12.2 Item2 12.3 Item3
Agora eu bloqueio visual marca a oitava coluna, indicada com sublinhados abaixo, e pretendo substituir parte do espaço em branco com Done
sem mover a coluna de item:
12.1 _ Item1 12.2 _ Item2 12.3 _ Item3
Eu esperava poder entrar no modo de substituição, mas só posso inserir inserir ( I
), acrescentar ( A
) ou modo de alteração ( c
). O modo de mudança chega perto do que eu quero: se eu souber o comprimento da palavra, o bloco pode ser ajustado para a mesma largura.
Há algo que estou sentindo falta aqui?
Se você quiser substituir um bloco visual, use o vis.vim
plugin .
Para instalar:
Faça o download do vis.vba.gz no link
# Open vis.vba.gz in Vim 7.1 or later.
vim vis.vba.gz
# Source the open file.
:so %
# Quit Vim
:q
Uma vez instalado:
ctrl-v to enter visual-block mode
Move to select the block you want
:B s/pattern/newtext/
Melhor ainda, você pode executar qualquer comando Ex no bloco visual, não apenas substituições. Por exemplo, :B !sort
.