Es ist üblich, mehrere Wörter, die einen Bezeichner bilden, mit camelCase oder snake_case zu trennen. Es wäre schön, wenn die „Wort“ Bewegungen ( b, w, e) würden diese innere Kennung Grenzen erkennen.
Wie kann dieses Verhalten erreicht werden? (Plugin / vimrc / ...?)
cursor-movement
letter-case
Jaspis
quelle
quelle
snake_case
iskeyword
Einstellung etwas anfangen, aber ich befürchte, dass dies viele zusätzliche Nebenwirkungen haben wird ... (siehe:help word
).snake_case
. Scheint nicht der Fall zu sein, hat es in die Frage aufgenommen.f
undt
, um innere Wortbewegungen zu verwalten.Antworten:
Das Plugin CamelCaseMotion macht was Sie wollen. Standardmäßig ordnet sie die Tasten
,w
,,b
,,e
die den normalen gleichwertig sindw
,b
,e
. Es funktioniert sowohl für CamelCase als auch für snake_case:Beispiel:
Mit
d,w
wird entferntcamel
; Wenn Sie es erneut verwenden, wird es entferntCase
.Oder mit Schlangenetui:
d,w
wird entferntsnake_
, und beim zweiten Mal wird es entferntcase_
."Innere" Bewegungen (wie
diw
) sollten auch wie erwartet (wiedi,w
) funktionieren .Wenn Sie möchten, können Sie auch die Standardeinstellung überschreiben
w
,b
unde
mit:quelle
,
Befehl (Wiederholung letztef
/t
/F
/T
Bewegung), was bedeutet , wenn Sie diesen Befehl verwenden möchten, werden Sie für eine Verzögerung warten (konfiguriert durch'timeoutlen'
). Glücklicherweise können Sie mit dem Plugin alternative Zuordnungen Ihrer Wahl verwenden.dw
auf ,, key);
wenn der Cursor an istk
scheint die gesamte Zeile (einschließlich Newline) zu entfernen, während ich erwartet hatte nurkey
entfernt werden ...camel
und dannCase
nichtWord
?