vi atalho para excluir "até o próximo caractere X"

145

Eu entendo que o vi tem teclas de atalho para excluir caracteres, palavras e linhas com várias opções.

No entanto, não consegui encontrar isto:

  • excluir do cursor para o próximo caractere especificado

Por exemplo, eu posso digitar du" esperando que o editor "apague até que o próximo caractere " seja encontrado"

O mais próximo que eu sei é d9w , em que 9 é o número de palavras a serem excluídas.

Alguém sabe se isso é possível?

    
por kctang 08.10.2011 / 17:43

5 respostas

236

Use dt c , onde c é qualquer caractere, por ex. para você, você quer dt "

Isso excluirá até mas não incluindo c .

Se você tivesse:

delete until exclamation point!

E o cursor estava no primeiro espaço e você digitou dt ! , você obteria:

delete!

Também df c .

Isso excluirá até e incluindo c .

Usando df ! no mesmo exemplo acima, você terá:

delete

Qualquer "movimento" pode ser usado para os comandos d , c , y e semelhantes.

    
por Arcege 08.10.2011 / 18:19
34
  • Para deletar até o caractere do tipo 'X' dtX

  • Para excluir o caractere do tipo 'X' para a frente dfX

  • Para deletar para trás até o caractere tipo 'X' dTX

  • Para excluir de volta o caractere 'X' digite dFX

por Mark Wong 02.06.2016 / 20:02
28

A entrada dt # (não a: comando, use-a como um movimento como G)

irá apagar do cursor até mas não incluindo o #. Você pode substituir qualquer caractere por #.

    
por Jessie 21.06.2013 / 04:44
13

Parece que o @Arcege já respondeu à pergunta, mas eu fiz d/l para excluir até que o caractere l ; outros personagens também funcionariam.

    
por zpletan 09.10.2011 / 13:42
5

w move para a seguinte palavra. l move para o seguinte caracterizador.

Portanto, é d9l para excluir os próximos 9 caracteres.

    
por Shun Zhang 10.07.2014 / 21:48

Tags