Vim emmet 的键映射-vim

Vim key mapping for emmet-vim

好的,这就是我想要完成的:

这是我试过的

虽然上面的代码很有用,但我需要它在INSERT模式下工作

我正在从 Sublime Text 转移到 VIM,我想念 Emmet 功能如此容易访问。关于如何实现这一点有什么想法吗?

提前致谢。

我猜你的设置在 INSERT 模式下不起作用的原因是因为 <tab> 被映射到其他地方(很可能是一些 auto-completion 插件)。您可以尝试在编辑 HTML 文件时找到 :verbose imap <tab> 映射的内容并将其禁用,但我认为更简单的解决方案是自己覆盖映射,如下所示:

augroup EmmetSettings
  autocmd! FileType html imap <tab> <plug>(emmet-expand-abbr)
augroup END

要了解上面的内容,请参阅 :h autocmd(和 :h augroup)。基本上它是告诉 vim 在编辑 html 文件时执行指定的命令。要了解您可以使用的其他映射,请参阅 doc.

通过在我的 .vimrc 文件中包含以下行解决了我的问题。

let g:user_emmet_expandabbr_key='<Tab>'
imap <expr> <tab> emmet#expandAbbrIntelligent("\<tab>")

现在我可以使用 TAB 键在 INSERT 模式下缩进和激活 Emmet 片段 :D