Editar texto com vim

0

Eu estou tentando escrever o 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 que fosse. Ficaria muito grato por fazer isso com suas sugestões. Para ser mais preciso: Eu quero remover o 9º símbolo e o 11º símbolo na terceira linha. Por exemplo eu tenho três linhas

  1. three metres above the sea
  2. three metres below the sea
  3. need some help in vim

Então eu quero apagar o 9º símbolo na terceira linha que é a letra "e" na palavra "some" e o 11º símbolo que é a letra "h" na palavra "help".

    
por fuser 05.11.2015 / 22:00

2 respostas

2

A correspondência de várias vezes é 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ê quer, se não atualizar sua pergunta, por favor.

    
por 05.11.2015 / 22:21
0

No modo de edição, digite:

08lxl.
  • 0 move cursor para o início da linha
  • 8l move o cursor para a frente 8 caracteres
  • x delete o caractere sob o cursor
  • l move o cursor para frente 1 caractere
  • . repete 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.

    
por 06.11.2015 / 00:06

Tags