Anpassen der Worttrennzeichen in vi
Frage
vi behandelt dash -
und Raum
als Worttrenn für Befehle wie dw
und cw
.
Gibt es eine Möglichkeit Strich _
auch hinzufügen?
Ich will ganz oft Teil eines Variablennamen Unterstrichen ändern, wie das Ändern src_branch
enthält, dest_branch
. Ich am Ende Zeichen und mit s
(wie 3sdest
) zu zählen, aber es wäre viel einfacher, cw
(wie cwdest
) zu verwenden.
Lösung
Falls Sie Vim verwenden, können Sie das ändern, indem Sie die iskeyword
Option Einstellung (:he iskeyword
). Wenn das nicht möglich ist, können Sie immer statt Zählen verwenden ct_
.
Andere Tipps
Gibt es eine Möglichkeit Strich
_
auch hinzufügen?
:set iskeyword-=_
Eine andere gute Option ist in solchen Fällen verwenden camelcasemotion Plugin .
Es fügt neue Bewegungen ,b
, ,e
und ,w
, die analog mit b
arbeiten, e
und w
, mit der Ausnahme, dass sie und Camelcase snake_case Worte erkennen. Mit ihm können Sie
c,edest
und diese ersetzen „src_branch“ mit „dest_branch“, wenn Sie den Cursor auf dem ersten Zeichen von „src_branch“ sind.
Sie könnten cf_dest_
geben und das Zählen Teil speichern.
Edit: oder wie vorgeschlagen: ct_
Text, bis kurz vor dem Unterstrich ändert. (Ich benutze die f
Bewegung mehr, so kam es mir natürlich mehr)
Oder Sie könnten 'iskeyword'
(:help iskeyword
für weitere Details) neu zu definieren.
Ich habe gerade auf diesem selbst und fügte hinzu, das meinen .vimrc:
set iskeyword=!-~,^*,^45,^124,^34,192-255,^_
Meine .vimrc hatte Probleme mit ^ | und ^“, das war ein Teil des Standard iskeyword für mein Setup, also habe ich auf ihre ASCII-Werte und es funktioniert gut. Meine wichtigste Änderung war hinzuzufügen‚^ _‘bis zum Ende der Standardeinstellung vim zu halten von Strich zu sehen als Teil eines Wortes zu sein.