Entendo que o vi possui teclas de atalho para excluir caracteres, palavras e linhas com várias opções.
No entanto, não foi possível encontrar o seguinte:
- excluir do cursor para o próximo caractere especificado
Por exemplo, eu poderia digitar du"
esperando que o editor "exclua até que o próximo "
caractere seja encontrado"
O mais próximo que eu sei é d9w
onde 9
está o número de palavras a serem excluídas.
Alguém sabe se isso é possível?
Respostas:
Use dtc, onde c é qualquer caractere, por exemplo, para você, você desejadt"
Isso excluirá até, mas não inclui c .
Se você tinha:
E o cursor estava no primeiro espaço e você digitou dt!, você obteria:
Também dfc.
Isso excluirá até e incluindo c .
Usar df!o mesmo exemplo acima daria a você:
Apenas sobre qualquer "movimento" pode ser utilizado para as
d
,c
,y
e comandos semelhantes.fonte
dT,
edF,
.d/word
pesquisas atéword
. Deve ser seguido por enter (para fechar a pesquisa).Para excluir o tipo de encaminhamento até o caractere 'X' dtX
Para excluir o encaminhamento através do caractere 'X' dfX
Para excluir o caractere 'X' de trás para frente dTX
Para excluir o caractere 'X' para trás dFX
fonte
A entrada dt # (não um comando: use-o como um movimento como G)
excluirá do cursor até, mas não incluindo, o #. Você pode substituir qualquer caractere por #.
fonte
Parece que o @Arcege já respondeu à pergunta, mas fiz
d/l
para excluir até o personageml
; outros personagens também funcionariam.fonte
w
move para a palavra seguinte.l
move para o seguinte personagem.Portanto, é
d9l
para excluir os próximos 9 caracteres.fonte
l
é a tecla de seta direita do Vim, então você está realmente excluindo a direita. Por outro lado,d9h
excluiria 9 caracteres restantes.