Wie behandelt man Unterstriche wie Leerzeichen?

15

Ist es für vim möglich, Unterstriche wie Leerzeichen oder Bindestriche zu behandeln, sodass bei Verwendung der Sequenz dwnicht der gesamte Satz gelöscht wird some_long_text_with_underscores, wenn sich der Cursor am Anfang befindet?

jligeza
quelle

Antworten:

22

dwlöscht ein Wort und was ein Wort ausmacht, wird durch die iskeywordEinstellung festgelegt. Von :h word:

                                                        word
A word consists of a sequence of letters, digits and underscores, or a
sequence of other non-blank characters, separated with white space (spaces,
tabs, <EOL>).  This can be changed with the 'iskeyword' option.  An empty line
is also considered to be a word.

So entfernen Sie _aus iskeyword:

set iskeyword-=_
muru
quelle
1
Es stellte sich heraus, dass es sich um ein zweischneidiges Schwert handelte, da vim begann, lange Funktionsnamen als separate Wörter zu behandeln. Zum Beispiel wird eine Python-Funktion namens "download_and_print ()" farbig sein und "" - da dies ein Sprachschlüsselwort ist. Es ist auch unmöglich, zwischen Funktionsaufrufen mit * / # zu navigieren. Ich weiß, dass es nicht so ist der teil der
frage
@ Zmarszczony meine Funktion Hervorheben funktioniert gut, aber */ #ist weg.
muru