Edite texto com vim

Edite texto com vim

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

  1. três metros acima do mar
  2. três metros abaixo do mar
  3. 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 timesdo 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 linha
  • 8lmover o cursor para frente 8 caracteres
  • x excluir caractere sob o cursor
  • l 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.

informação relacionada