【问题标题】:How to make js completion pop up automatically in HTML files?如何让 js 补全在 HTML 文件中自动弹出?
【发布时间】:2018-08-23 22:58:39
【问题描述】:

正如网页所说,在 HTML 文件中使用 tern_for_vim 插件有两种方法。

use tern_for_vim plugin in HTML files

两种方法都可以,都不能自动弹出js补全菜单。

方法一:

1.vim test.html
2.:setlocal omnifunc=tern#Complete
3.To input `<C-X><C-O>` after `document.` 

现在会弹出 js 补全。
这种方法还有两个问题。
1.在.vimrc中写setlocal omnifunc=tern#Complete是不行的。
为什么?

2.如何让js完成菜单在document.之后自动弹出,而不是输入&lt;C-X&gt;&lt;C-O&gt;

方法二:

sudo cp .vim/bundle/tern_for_vim/after/ftplugin/javascript_tern.vim   .vim/bundle/tern_for_vim/after/ftplugin/html_tern.vim

您应该在document. 之后输入&lt;C-X&gt;&lt;C-O&gt;,以便为您编辑的html 文件调用js 补全菜单。

编辑的js文件的js补全菜单在document.之后无法自动弹出。

1.如何让js补全菜单在document.之后自动弹出,而不是输入&lt;C-X&gt;&lt;C-O&gt;? (同方法一第二项。)

【问题讨论】:

标签: javascript html autocomplete vim-plugin


【解决方案1】:

Here 是同一问题的答案。

您可以使用AutoComplPop 之类的插件在您键入时自动完成代码。

2015 年编辑:我个人现在使用YouCompleteMe

【讨论】:

    【解决方案2】:

    我猜你正在使用 Method 2,它正在使用 &lt;C-X&gt;&lt;C-O&gt;

    您需要inoremap 来执行此操作,请参阅:What's the meaning of 'inoremap' in vimrc

    并且由于 Tern for Vimomni completion 挂钩(如 https://github.com/ternjs/tern_for_vim ),您可以修改它的键映射以使其表现得如您所愿。

    来自文档:http://vimdoc.sourceforge.net/htmldoc/insert.html#ft-javascript-omni

    您可以在映射中使用 键入一个字符并满足某些条件。例如,对于键入 一个点:

    inoremap <expr> . MayComplete()
    func MayComplete()
        if (can complete)
          return ".\<C-X>\<C-O>"
        endif
        return '.'
    endfunc
    

    打开vim 并在命令模式下输入就可以了:

    :inoremap <expr> . ".\<C-X>\<C-O>"
    

    这基本上将. 变成触发&lt;CTRL-X&gt; &lt;CTRL-O&gt; 的触发器

    但最好将 :map 命令放入 ~/.vim/ftplugin/{filetype}_mappings.vim 。 (这要求您拥有:filetype plugin on。)

    这是通用的vim 键映射:http://vim.wikia.com/wiki/Mapping_keys_in_Vim_-Tutorial(Part_1)

    检查它以查看它是否正常工作:https://imgur.com/gpvzaUt

    PS:我用Pathogen安装Tern for Vimhttps://github.com/tpope/vim-pathogen

    我希望这能回答你的问题,或者至少给你一个想法。

    【讨论】:

      猜你喜欢
      • 2023-03-07
      • 2011-01-19
      • 1970-01-01
      • 1970-01-01
      • 2022-07-05
      • 2015-03-02
      • 2015-02-27
      • 2017-02-21
      • 1970-01-01
      相关资源
      最近更新 更多