Gtk vim 删除 <C-Y> 的映射

Gtk vim remove mapping of <C-Y>

我使用经典 vim,但最近我在 ubuntu 上移动到 gtk-vim,但是 emmet 插件不工作,这是因为当我按 <C-Y> 它将上面的字符复制到光标位置,我未能禁用它。当我设置 unmap 或 iunmap <C-Y> 它写道没有映射,而且 imap 中也没有注明此快捷方式。

编辑: 我发现我无法 imap,当我按任何快捷方式时它只是打印出来,例如

map <F2> :echo 'Current time is ' . strftime('%c')<CR>

工作正常但是

imap <F2> :echo 'Current time is ' . strftime('%c')<CR>

正在打印 <F2> 到文本

您似乎已经 :set paste 禁用了插入模式映射和缩写。此选项用于从终端粘贴文本(例如通过鼠标中键);它应该只在 期间 粘贴本身设置,而不是永久设置(您可以通过 'pastetoggle' 选项轻松切换它)。

所以,通过:verbose set paste?查看,然后找到这个设置的地方,将其禁用。


PS: 你的演示imap需要<C-o>在它之前;否则(如果 imap 正在工作,也就是说),您只需将 :echo ... 插入缓冲区。

imap <F2> <C-o>:echo 'Current time is ' . strftime('%c')<CR>