La personnalisation des séparateurs de mots dans la vi
vi traite dash -
et de l'espace
comme des séparateurs de mots pour les commandes telles que dw
et cw
.
Est-il possible d'ajouter un trait de soulignement _
ainsi?
J'ai très souvent envie de modifier une partie d'un nom de variable contenant souligne, de telles que la modification de src_branch
à dest_branch
. J'arrive à la fin de comptage de caractères et à l'aide de s
(comme 3sdest
), mais il serait beaucoup plus facile à utiliser cw
(comme cwdest
).
- FWIW, vous pouvez éviter le comptage avec
ct_dest
Vous devez vous connecter pour publier un commentaire.
Dans le cas où vous êtes à l'aide de vim, vous pouvez modifier que par le réglage de la
iskeyword
option (:he iskeyword
). Si ce n'est pas une option, vous pouvez toujours utiliserct_
, au lieu de compter.'iskeyword'
option. Sa valeur par défaut sous UNIX est"@,48-57,_,192-255"
, et laset-=
les changements à"@,48-57,192-255"
.'iskeyword'
pas pour vous, mais plutôt pour tous les Vim utilisateurs qui y sont dirigée ici par Google._
que sa propre parole. De toute façon de l'obtenir pour l'ignorer comme il le fait sur les espacesw
mouvement?w
etword
, il n'a pas l'air comme il n'y a aucun moyen intégré. Si vous voulezw
et similaires motions de travailler différemment, vous aurez à les relier à des fonctions fournies par un plugin ou par vous. Si vous écrivez votre propre mouvement, le plugin vim-textobj-utilisateur peut vous aider à créer l'équivalent des objets texte (iw
,aw
) trop.Une autre bonne option dans ce cas est d'utiliser camelcasemotion plugin.
Il ajoute de nouvelles motions
,b
,,e
, et,w
, qui fonctionnent par analogie avecb
,e
, etw
, sauf qu'ils reconnaissent CamelCase et snake_case mots. Avec elle, vous pouvez utiliseret ce sera de remplacer les "src_branch" avec "dest_branch" si votre curseur est sur le premier caractère de "src_branch".
Vous pouvez taper
cf_dest_
et enregistrer le comptage de la partie.Edit: ou comme l'a suggéré:
ct_
modifications de texte jusqu'à ce que juste avant le caractère de soulignement. (Je suis en utilisant lef
motion plus, alors il est venu de façon plus naturelle pour moi)Ou vous pouvez redéfinir
'iskeyword'
(:help iskeyword
pour plus de détails).Je viens de regarder en moi-même et a ajouté ça à mes .vimrc:
Mon .vimrc eu des problèmes avec ^| et ^", qui faisait partie de la valeur par défaut iskeyword pour mon installation, j'ai donc changé à leurs valeurs ascii et il fonctionne très bien. Ma principale modification a consisté à ajouter "^_" à la fin de la configuration par défaut de garder vim de voir le trait de soulignement comme étant une partie d'un mot.