
Estou tentando escrever um comando no Vim que pode excluir 9 e 11 símbolos na terceira linha. Eu fiz isso 3s/9, 11///
, mas nada aconteceu como eu esperava. Ficaríamos gratos em fazer isso com suas sugestões. Para ser mais preciso: quero remover o 9º símbolo e o 11º símbolo da terceira linha. Por exemplo eu tenho três linhas
- três metros acima do mar
- três metros abaixo do mar
- preciso de ajuda no vim
Então, quero excluir o 9º símbolo na terceira linha, que é a letra "e" na palavra "alguns" e o 11º símbolo, que é a letra "h" na palavra "ajuda".
Responder1
A correspondência múltipla é explicada na seção 27.4 Matching multiple times
do capítulo 27 do manual do usuário (consulte :help usr_27.txt
).
O comando a seguir excluirá os primeiros 9, 10 ou 11 caracteres da linha 3 se a linha contiver pelo menos 9 caracteres. Se a linha contiver menos caracteres, ela retornaráE486: Pattern not found:
:3s/.\{9,11}//
Não tenho certeza se é isso que você deseja, se não, atualize sua pergunta, por favor.
Responder2
No modo de edição, digite:
08lxl.
0
mova o cursor para o início da linha8l
mover o cursor para frente 8 caracteresx
excluir caractere sob o cursorl
mover o cursor para frente 1 caractere.
repita o último comando (x)
Se você quiser vincular isso a uma chave (por exemplo ,
):
:map , 08lxl.
toda vez que você pressionar ,
no modo de edição depois disso, ele executará esses comandos.