Comment traiter les traits de soulignement comme l'espace?

15

Est-il possible pour vim de traiter les traits de soulignement comme des espaces ou des hypènes, donc quand j'utilise la séquence dw, il ne supprime pas la phrase entière some_long_text_with_underscores, lorsque le curseur est au début?

jligeza
la source

Réponses:

22

dwsupprime un mot et ce qui constitue un mot est défini par le iskeywordparamètre. De :h word:

                                                        word
A word consists of a sequence of letters, digits and underscores, or a
sequence of other non-blank characters, separated with white space (spaces,
tabs, <EOL>).  This can be changed with the 'iskeyword' option.  An empty line
is also considered to be a word.

Pour retirer _de iskeyword, faire:

set iskeyword-=_
muru
la source
1
Cela s'est avéré être une épée à double tranchant, car vim a commencé à traiter les noms de fonction longs comme des mots séparés. Par exemple, une fonction python appelée ,, download_and_print () "va avoir des couleurs ,, et '' - car il s'agit d'un mot-clé de langue. Il est également impossible de naviguer avec * / # entre les appels de fonction. Je sais que ce n'était pas la partie de la question, mais
je
@zmarszczony ma fonction de mise en évidence fonctionne bien, mais */ a #disparu.
muru