Я пытаюсь использовать аббревиатуру для моих фрагментов, но не хочу, чтобы они были расширены случайно.Например, если у меня есть аббревиатура «для», 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>"
Тем не менее, аббревиатуры это лучший подход.Это проще, это чисто, оно подсвечивает специальные клавиши.