Coc.nvim: 在单词末尾按 Tab 的问题

创建于 2019-03-16  ·  5评论  ·  资料来源: neoclide/coc.nvim

我正在使用 README.md 中给出的示例 vimrc。

问题是,当没有完成候选并且光标位于单词末尾时,点击 Tab 不会产生任何结果。

在我看来,这种情况的理想行为应该是将光标移动到下一个选项卡位置,而不是在空列表中搜索完成候选。

我相信这是由

inoremap <silent><expr> <TAB>
      \ pumvisible() ? "\<C-n>" :
      \ <SID>check_back_space() ? "\<TAB>" :
      \ coc#refresh()
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"

在给定的 vimrc 配置中

当完成候选列表不为空时,如何在不改变正常行为的情况下修复它? 谢谢!

question

最有用的评论

应该将光标移动到下一个选项卡位置。

下一个标签位置是什么意思?

这意味着插入一个制表符。

我正在使用 README.md 中给出的示例 vimrc。
我相信这是由
...

确实。 检查这个维基页面: https :

inoremap <silent><expr> <TAB>
      \ pumvisible() ? "\<C-n>" :
      \ <SID>check_back_space() ? "\<TAB>" :
      \ coc#refresh()
inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"
inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"

上面的代码应该让它按照你想要的方式工作。
当我从 vimrc 中注释该行时,我得到了您所描述的行为。 当没有打开完成窗口时,它会将选项卡重新映射回选项卡。

所有5条评论

应该将光标移动到下一个选项卡位置。

下一个标签位置是什么意思?

光标在单词的末尾并不意味着完成请求会返回空结果,有时是这样。

应该将光标移动到下一个选项卡位置。

下一个标签位置是什么意思?

这意味着插入一个制表符。

我正在使用 README.md 中给出的示例 vimrc。
我相信这是由
...

确实。 检查这个维基页面: https :

inoremap <silent><expr> <TAB>
      \ pumvisible() ? "\<C-n>" :
      \ <SID>check_back_space() ? "\<TAB>" :
      \ coc#refresh()
inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"
inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"

上面的代码应该让它按照你想要的方式工作。
当我从 vimrc 中注释该行时,我得到了您所描述的行为。 当没有打开完成窗口时,它会将选项卡重新映射回选项卡。

自述文件中的示例是在前面有单词字符时触发完成,但您需要的不是触发完成,因此您必须为<Tab>创建自己的键盘映射。

inoremap <silent><expr> <TAB>
      \ pumvisible() ? "\<C-n>" :
      \ <SID>check_back_space() ? "\<TAB>" :
      \ coc#refresh()
inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"
inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"

上面的代码应该让它按照你想要的方式工作。
当我从 vimrc 中注释该行时,我得到了您所描述的行为。 当没有打开完成窗口时,它会将选项卡重新映射回选项卡。

这有效。 谢谢@DzKaki

此页面是否有帮助?
0 / 5 - 0 等级