Jak traktować podkreślenia jak przestrzeń?

15

Czy vim może traktować podkreślenia jak spacje lub znaki myślowe, więc kiedy używam sekwencji dw, nie usuwa całego zdania some_long_text_with_underscores, gdy kursor znajduje się na początku?

jligeza
źródło

Odpowiedzi:

22

dwusuwa słowo, a to, co stanowi słowo, jest określone przez iskeywordustawienie. Od :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.

Aby usunąć _z iskeyword:

set iskeyword-=_
muru
źródło
1
Okazało się, że jest to obosieczny miecz, ponieważ vim zaczął traktować długie nazwy funkcji jako osobne słowa. Na przykład funkcja pytona o nazwie „download_and_print ()” będzie miała kolorowy, a „” - ponieważ jest to słowo kluczowe języka. Nie można również nawigować za pomocą * / # między wywołaniami funkcji. Wiem, że to nie było część pytania, ale chciałem o tym wspomnieć
jligeza,
@zmarszczony moja funkcja podświetlania działa dobrze, ale */ #zniknął.
muru