Excluindo objetos de texto do Word no VIM

1

Na expressão (word (first-Word second-Word)) ao digitar diW com o cursor em f , obtenho (word second-Word)) quando gostaria apenas que o Word first-Word deleted. Ao digitar diW com o cursor em s na expressão original, recebo (word (first-Word quando novamente gostaria que o Word fosse removido. Eu esperava que o modificador i resultasse apenas no objeto de texto do Word sendo excluído e não em espaços ou parênteses próximos. Como posso obter o comportamento que quero?

    
por user1031565 12.08.2013 / 11:50

1 resposta

2

Movimentos em maiúsculas, como B , E , W , movem-se sobre uma sequência de caracteres não-brancos, separados por espaços em branco. Isso não pode ser alterado a menos que você esteja disposto a remapear as chaves que eu não recomendo.

Os movimentos em minúsculas, como b , e , w , movem-se sobre uma sequência de caracteres definida pela opção iskeyword . Isso significa que se você adicionar - a iskeyword com

set iskeyword+=-

você pode alcançar seu objetivo simplesmente pressionando daw se o cursor estiver em f ou s .

Como alternativa, você pode invocar

setlocal iskeyword+=-

se você quiser que a modificação da definição seja local para o seu buffer.

Para mais informações, consulte :h word .

    
por 12.08.2013 / 12:07

Tags