Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
emmet Vim的Vim键映射_Vim_Emmet - Fatal编程技术网

emmet Vim的Vim键映射

emmet Vim的Vim键映射,vim,emmet,Vim,Emmet,好的,以下是我想要实现的目标: 在INSERT模式下,我希望emmet使用选项卡键自动完成 这是我试过的 let g:user\u emmet\u expandabbr\u key=''(仅在正常模式下工作) 虽然上面的代码很有用,但我需要它在INSERT模式下工作 我正在从Sublime文本转换到VIM,我怀念Emmet功能如此容易访问。关于我如何做到这一点,有什么想法吗 提前感谢。我猜您的设置不能在插入模式下工作的原因是映射到了其他地方(很可能是一些自动完成插件)。在编辑HTML文件

好的,以下是我想要实现的目标:

  • INSERT
    模式下,我希望emmet使用
    选项卡
    键自动完成
这是我试过的

  • let g:user\u emmet\u expandabbr\u key=''
    (仅在
    正常模式下工作)
虽然上面的代码很有用,但我需要它在
INSERT
模式下工作

我正在从Sublime文本转换到VIM,我怀念Emmet功能如此容易访问。关于我如何做到这一点,有什么想法吗


提前感谢。

我猜您的设置不能在
插入
模式下工作的原因是
映射到了其他地方(很可能是一些自动完成插件)。在编辑HTML文件时,您可以尝试查找由
:verbose imap
映射的内容并禁用它,但我认为更简单的解决方案是自己覆盖映射,如下所示:

augroup EmmetSettings
  autocmd! FileType html imap <tab> <plug>(emmet-expand-abbr)
augroup END
augroup EmmetSettings
自动驾驶!文件类型html imap(emmet expand abbr)
螺旋端

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

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

let g:user_emmet_expandabbr_key='<Tab>'
imap <expr> <tab> emmet#expandAbbrIntelligent("\<tab>")
让g:user\u emmet\u expandabbr\u key=''
imap emmet#expandAbbrIntelligent(“\”)

现在,我可以使用
选项卡
键在
插入
模式中缩进和激活Emmet片段:D

使用Emmet的问题跟踪器。谢谢!三个小时后你救了我的命!