Si j'ai ce texte dans vim et que mon curseur est sur le premier caractère:
www.foo.com
Je sais que je peux faire:
cw
pour changer jusqu'à la première période, car unword
(minuscule w) se termine à n'importe quelle ponctuation OU un espace blanccW
pour changer l'adresse entière, car unWord
(majuscule w) se termine uniquement par un espace
Maintenant, si j'ai ceci:
stupid_method_name
et vous voulez changer cela?
awesome_method_name
Les deux cw
et cW
changer la chose, mais je veux juste changer le fragment avant le trait de soulignement.
Ma technique de repli consiste à c/_
«changer jusqu'à ce que vous appuyiez sur le trait de soulignement suivant dans une recherche», mais pour moi, tous les traits de soulignement sont également mis en surbrillance en tant que termes de recherche, ce qui est légèrement gênant.
Existe-t-il un spécificateur comme w
ou W
qui n'inclut pas de soulignement?
:nohl
?Réponses:
Tu peux faire
cf_
. f ne mettra pas en évidence le caractère recherché.Vous pouvez également le faire
ct_
si vous ne souhaitez pas inclure le _.la source
f
avance vers le personnage;F
recule vers le personnage;t
avance juste avant le personnage; etT
recule vers le personnage situé à droite du personnage cible. Donc, votre deuxième exemple aurait dû êtrect_
.ct_
est exactement ce que je voulais. Cela fait maintenant partie de mon flux de travail régulier. Merci!Mettez ceci dans votre .vimrc:
set iskeyword-=_
Ensuite, _ sera traité comme une limite de mot (bien que pas une limite de WORD), et cw pourrait être utilisé pour simplement changer "génial", et cW pour tout changer.
Voir:
:help iskeyword
et
:help word
pour plus d'informations.
la source
ct_
comme le dit Doubleface ci-dessous, car elle est concise et constitue le comportement par défaut de Vim.camelcasemotion est un plugin vim très pratique qui vous permet de parcourir les mots lorsque vous utilisez la notation avec soulignement ou camelcase. En utilisant ce plugin, vous pouvez placer une virgule devant la plupart des commandes de mouvement vim traditionnelles, ce qui vous permettra de traiter les mots en caractères de soulignement ou camelcase comme des mots entiers.
la source