Подтвердить что ты не робот

Настройка разделителей слов в vi

vi рассматривает тире - и пробел   как разделители слов для команд, таких как dw и cw.

Есть ли способ добавить символ подчеркивания _?

Я нередко хочу изменить часть имени переменной, содержащего символы подчеркивания, например, изменение src_branch на dest_branch. Я заканчиваю подсчет символов и используя s (например, 3sdest), но было бы гораздо проще использовать cw (например, cwdest).

4b9b3361

Ответ 1

Если вы используете vim, вы можете изменить это, установив опцию iskeyword (:he iskeyword). Если это не вариант, вы можете всегда использовать ct_ вместо подсчета.

Ответ 2

Есть ли способ добавить символ подчеркивания _?

:set iskeyword-=_ 

Ответ 3

Другим хорошим вариантом в таких случаях является использование плагина camelcasemotion.

Он добавляет новые движения ,b, ,e и ,w, которые работают аналогично с b, e и w, за исключением того, что они распознают слова CamelCase и snake_case. С его помощью вы можете использовать

c,edest

и это заменит "src_branch" на "dest_branch", если ваш курсор был на первом символе "src_branch".

Ответ 4

Вы можете ввести cf_dest_ и сохранить счетную часть.

Изменить: или как предлагается: ct_ изменяет текст до нажатия символа подчеркивания. (Я больше использую движение f, поэтому для меня это стало более естественным)

Или вы можете переопределить 'iskeyword' (:help iskeyword для деталей).

Ответ 5

Я просто смотрел на это сам и добавил это к моему .vimrc:

set iskeyword=!-~,^*,^45,^124,^34,192-255,^_

У моего .vimrc были проблемы с ^ | и ^ ", который был частью defaultkeykey для моей установки, поэтому я изменил их значения ascii, и он отлично работает. Моей основной модификацией было добавить" ^ _ "в конец настройки по умолчанию, чтобы vim не видел подчеркивания как часть слова.