Как указать, какие ключи имеют право расширять аббревиатуры? - PullRequest
1 голос
/ 09 мая 2019

Я пытаюсь использовать аббревиатуру для моих фрагментов, но не хочу, чтобы они были расширены случайно.Например, если у меня есть аббревиатура «для», vim будет расширять ее также, когда я пишу комментарий или имя переменной (в основном, нажимая пробел).В качестве частичного решения я могу написать все имена заглавными буквами, но набирать их все время немного сложнее.Я также могу переназначить пространство на <C-V><Space>, но есть и другие ключи, подходящие для расширения, и переназначение большинства из них (например, (,; ...) - последнее, что я хочу сделать.Ну, есть опция под названием iskeyword, которая определяет, какие символы являются ключевыми словами, но, насколько я знаю, она также используется в поиске и основных движениях.Мне удобно нажимать <Esc> при расширении, поэтому лучшее решение для меня - ограничить количество ключей триггера до <Esc>.

Вопрос: : разрешено ли мне изменять не ключевое словоключи и не влияют на поиск и движения?Можно ли отключить автоматическое расширение и сопоставить <Esc> с <C-]><Esc>, чтобы выполнить ручное расширение?

PS : я могу делать все, что хочу, с сопоставлениями.

autocmd FileType php inoremap <buffer><expr><Esc>
    \ is#pattern('for\%#') ? "\<BS>\<BS>\<BS>for($i = 0; $i < 10; $i++) {\<CR>}<Esc>" :
    \ "\<Esc>"

Тем не менее, аббревиатуры это лучший подход.Это проще, это чисто, оно подсвечивает специальные клавиши.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...