Как относиться к подчеркиванию как к пространству?

15

Возможно ли, чтобы vim обрабатывал подчеркивания как пробелы или переносы, поэтому, когда я использую последовательность dw, она не удаляет целое предложение some_long_text_with_underscores, когда курсор находится в начале?

jligeza
источник

Ответы:

22

dwудаляет слово, и то, что составляет слово, определяется iskeywordнастройкой. От :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.

Чтобы удалить _из iskeyword, выполните:

set iskeyword-=_
Мур
источник
1
Это оказался обоюдоострый меч, поскольку vim начал воспринимать длинные имена функций как отдельные слова. Например, функция python с именем ,, download_and_print () "будет иметь цвет ,, и '', поскольку это ключевое слово языка. Также невозможно перемещаться с помощью * / # между вызовами функций. Я знаю, что это не было часть вопроса, но хотел бы упомянуть об этом.
Jligeza
@zmarszczony моя функция подсветки работает нормально, но */ #пропала.
Муру