如何指定哪些键可以扩展缩写?

时间:2019-05-09 13:18:47

标签: vim

我正在尝试为我的代码片段使用缩写,但不希望它们被意外扩展。例如,如果我有“ for”的缩写,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>"

但是,缩写是一种更好的方法。更容易,更干净,突出显示特殊键。

0 个答案:

没有答案