Как настроить vim, чтобы команды движения включали символы подчеркивания и CamelCase, но их завершение будет игнорировать?

Например, у меня есть это:

set iskeyword-=_

Это приводит к выполнению этой работы:

foo_bar

Если курсор находится на "f", нажатие w перемещает курсор на символ подчеркивания. Повторное нажатие переместится в полосу "b". Это желаемый эффект для движения, но имеет нежелательный побочный эффект разрушения. Такая же история с маркерами CamelCase. Например,

Если у меня есть это:

foo_bar

и я печатаю foo_<CTRL+N> Я не получаю "foo_bar" в качестве опции завершения.

Ответы

Ответ 1

Установите плагин camelcase и следуйте примеру на странице, чтобы переопределить сопоставление по умолчанию w с CamelCase. Это заставит движения следовать за CamelCase, но не потребует изменений в iskeyword. В качестве альтернативы вы можете использовать альтернативные сопоставления с запятыми (мои предпочтения), ,w, ,e и т.д., Чтобы делать движения CamelCase.