Faça os movimentos de palavras tratarem. (período) como espaço

2
a b.c d
^

Se eu pressionar w , meu cursor se moverá para b , pressionando novamente para movê-lo para .

Como posso fazer com que o vim ignore . da mesma maneira que ignorou o espaço, isto é, quando o cursor está em b , pressionando w move-me para c e não . Eu quero fazer isso desde 90% do tempo quando eu quero mudar para outra palavra com w , . não é para onde eu pretendo ir e é tão chato ter que pressionar w duas vezes para percorrer um .

Eu também gostaria de fazer o mesmo com um monte de óbvios não-palavras, como ()[]{}:,

Note que :set iskeyword+=. não satisfaz minha necessidade, pois resulta em pressionar w em b ir para d ao invés de c (eu quero ir diretamente para c , apenas ignorando o . )

    
por Woofas 04.01.2017 / 07:44

2 respostas

0

Aqui está um excelente plugin do Kana Natsuno que eu venho usando há anos e que, eu acho, faz o que você precisa: link

Ele não ignora apenas . , ele ignora qualquer tipo de pontuação. Isso significa que os movimentos de palavra, w , b , e e ge , saltam diretamente no próximo caractere de palavra / anterior, em vez de pousarem em coisas no meio.

A documentação explica melhor: link

    
por 08.01.2017 / 14:28
0

Você deseja modificar a configuração iskeyword :

'iskeyword'
    Keywords are used in searching and recognizing with many commands:
    "w", "*", "[i", etc.  It is also used for "\k" in a |pattern|.  See
    'isfname' for a description of the format of this option.

Um simples :set iskeyword+=. adicionará . à lista de caracteres considerados como parte de um word . Use vírgulas para adicionar vários caracteres ou um intervalo ASCII decimal para especificar vários de uma só vez:

:set iskeyword+=[,],40-41    " adds []()

Observe que alguns caracteres são especiais. , , obviamente, e também @ . Veja :help 'isfname' para detalhes completos.

iskeyword é uma configuração local de buffer e, muitas vezes, modificada como um efeito colateral quando o tipo de arquivo é definido, portanto, lembre-se disso. iskeyword também pode afetar o realce de sintaxe, a menos que a sintaxe use syn-iskeyword .

    
por 05.01.2017 / 20:37