Il est courant d'utiliser camelCase ou snake_case pour séparer plusieurs mots qui forment un identifiant. Ce serait bien si les mouvements « mot » ( b, w, e) détecteraient les limites intérieure identifiant.
Comment réaliser ce comportement? (Plugin / vimrc / ...?)
snake_case
iskeyword
paramètre, mais je crains que cela n'ait de nombreux effets secondaires supplémentaires ... (voir:help word
).snake_case
. Semble que ce n'est pas le cas, l'a inclus dans la question.f
ett
pour gérer les mouvements internes des mots.Réponses:
Le plugin CamelCaseMotion fait ce que vous voulez. Par défaut , il mappe les touches
,w
,,b
,,e
qui sont équivalentes à la normalew
,b
,e
. Cela fonctionne pour CamelCase et snake_case:Exemple:
L'utilisation
d,w
supprimeracamel
; l'utiliser à nouveau supprimeraCase
.Ou avec étui à serpent:
d,w
supprimerasnake_
, et la deuxième fois, il sera supprimécase_
.Les mouvements "intérieurs" (comme
diw
) devraient également fonctionner comme prévu (commedi,w
).Si vous préférez, vous pouvez également remplacer la valeur par défaut
w
,b
ete
avec:la source
,
commande (répéter dernierf
/t
/F
/T
mouvement), ce qui signifie que si vous souhaitez utiliser cette commande, vous devrez attendre un délai (configuré par'timeoutlen'
). Heureusement, le plugin vous permet d'utiliser des mappages alternatifs de votre choix.dw
sur, key);
lorsque le curseur est àk
semble enlever toute la ligne (y compris saut de ligne), alors que je pensais justekey
à enlever ...camel
et ensuiteCase
, nonWord
?