2
a b.c d
^

Если я нажму w, мой курсор переместится на b , а повторное нажатие переместит его на .

Как я могу сделать так, чтобы Vim игнорировал . таким же образом он игнорировал пробел, то есть когда курсор находится в точке b , нажатие кнопки w приводит меня к позиции c а не к . Я хочу сделать это , так как 90% времени , когда я хочу , чтобы перейти к другому слову с . это не то место, куда я собираюсь перейти, и это так раздражает, когда приходится дважды нажимать w, чтобы пройти a .

Я также хотел бы сделать то же самое с целой кучей очевидных не-слов, таких как ()[]{}:,

Обратите внимание :set iskeyword+=. не удовлетворяет мою потребность, так как это приводит к нажатию w на b переходите к d вместо c (я хочу, чтобы он переходил непосредственно к c , только в обход .)

2 ответа2

0

Вы хотите изменить настройку iskeyword :

'iskeyword'
    Keywords are used in searching and recognizing with many commands:
    "w", "*", "[i", etc.  It is also used for "\k" in a |pattern|.  See
    'isfname' for a description of the format of this option.

Простое :set iskeyword+=. добавлю . в список символов считается частью word . Используйте запятые для добавления нескольких символов или десятичный диапазон ASCII для указания нескольких символов одновременно:

:set iskeyword+=[,],40-41    " adds []()

Обратите внимание, что некоторые символы являются специальными. , очевидно, а также @ . Смотрите :help 'isfname' для полной информации.

iskeyword - это локальный параметр буфера, который часто изменяется как побочный эффект при задании типа файла , так что имейте это в виду. iskeyword также может влиять на подсветку синтаксиса, если в синтаксисе не используется syn-iskeyword .

0

Вот отличный плагин от Kana Natsuno, который я использую уже много лет и который, я думаю, делает то, что вам нужно: https://github.com/kana/vim-smartword

Это не просто игнорировать . , он игнорирует любые знаки препинания. Это означает, что слово «движения», w , b , e и ge , прыгает непосредственно на следующий / предыдущий символ слова, а не приземляется на предметы в середине.

Документация объясняет это лучше всего: https://github.com/kana/vim-smartword/blob/master/doc/smartword.txt#L40-L66

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .