Vim Visual Mode 'W' выберите

При использовании gvim 7.3 я могу выбрать слово, набрав v, а затем w. Выбранное слово не включает пунктуацию после слова. При использовании vim 7.2 в Linux выберите слово, набрав v, а затем w также выберет следующую пунктуацию.

For example with this text and the cursor at the beginning of the line:
clk : in

On Windows, v w y o esc p produces
clk : in
clk 

On Linux, v w y o esc p produces
clk : in
clk :

Обратите внимание на дополнительную двоеточие в Linux

Почему это? Как я могу заставить VIM в Linux вести себя как gvim в Windows (или наоборот)?

2 ответа

Решение

vw выделит текст от курсора до конца текущего "слова", где "слово" - это последовательность символов из набора, определенного опцией "iskeyword". Опция 'iskeyword' по умолчанию представляет собой набор буквенно-цифровых символов ASCII плюс подчеркивание (_).

Если vw выбирает больше, чем-то, затем что-то, возможно, плагин файлового типа, добавил символы в 'iskeyword', чтобы, по мнению автора плагина, быть более полезным при редактировании текущего типа файла. Чтобы узнать где iskeyword устанавливается, выполнить

:verbose set iskeyword?

Возможно, в вашей установке Windows Vim набор плагинов отличается от установленной в Linux Vim, или в вашем Linux ~/.vimrc включено определение типов файлов, а в Windows ~/_vimrc нет.

Это поведение можно изменить, но то, как оно может или должно быть изменено, будет зависеть от того, какое поведение вы хотите и как iskeyword устанавливается

Ты можешь написать viw выбрать "внутреннее слово" (то есть без пунктуации).viwoESCp будет производить тот же вывод, что и ваша версия Windows.

Другие вопросы по тегам