Vim 触发下划线缩写?
Vim trigger abbreviations on underscore?
我喜欢 _ 在大多数情况下被视为关键字字符,但对于缩写,我希望 _ 触发缩写。有没有办法自动执行此操作,或者我最好的选择是在输入下划线之前按 <C-]>
?
用例:如果我有一个经常输入的长词,我可能有包含该长词的变量(例如 table 形式 myverylongname_foo_table 的名称),并且想要缩写在输入的过程中激活,就在按下下划线之后。
找到了可行的解决方案。我可以设置一个自动命令,在我进入插入模式时从 iskeyword
定义中删除 _,并在我离开时恢复它。
autocmd InsertEnter * setl iskeyword-=_
autocmd InsertLeave * setl iskeyword+=_
您可以使用映射 "overwrite" 下划线行为:
inoremap _ <C-]>_
我喜欢 _ 在大多数情况下被视为关键字字符,但对于缩写,我希望 _ 触发缩写。有没有办法自动执行此操作,或者我最好的选择是在输入下划线之前按 <C-]>
?
用例:如果我有一个经常输入的长词,我可能有包含该长词的变量(例如 table 形式 myverylongname_foo_table 的名称),并且想要缩写在输入的过程中激活,就在按下下划线之后。
找到了可行的解决方案。我可以设置一个自动命令,在我进入插入模式时从 iskeyword
定义中删除 _,并在我离开时恢复它。
autocmd InsertEnter * setl iskeyword-=_
autocmd InsertLeave * setl iskeyword+=_
您可以使用映射 "overwrite" 下划线行为:
inoremap _ <C-]>_