跳转到主要内容
你行网

Main navigation

  • 首页
  • 文章
  • 教程
  • 视频
  • 下载
  • 社区
  • 网站导航
User account menu
  • 登录

面包屑

  1. 首页

coc.nvim 的补全快捷键设置

由 hrs, 17 一月, 2025

如果 coc.nvim 的补全功能无法通过 Tab 或 Enter 来完成选择,你可能需要配置一些快捷键映射以启用正确的行为。

以下是设置步骤和解决方法:


1️⃣ 检查基本配置

在 Vim 或 Neovim 中,确认 coc.nvim 已正确加载,并在文件中输入时出现补全提示。如果补全提示出现但无法选择或确认,继续以下步骤。


2️⃣ 设置 Tab 键映射

在你的 init.vim 或 .vimrc 文件中,添加以下代码:

" 使用 Tab 键完成补全
inoremap <silent><expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"
inoremap <silent><expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"

" 按 Enter 键选择补全项
inoremap <silent><expr> <CR> pumvisible() ? coc#_select_confirm() : "\<CR>"

解释:

  • pumvisible() 检查补全菜单是否可见。
  • <C-n> 和 <C-p> 分别用于向下和向上选择补全项。
  • coc#_select_confirm() 确认选择的补全。

3️⃣ 启用 Coc 的自动触发

确保你的 coc-settings.json 中启用了补全触发:

{
  "suggest.autoTrigger": "always",   // 总是自动触发补全
  "suggest.enablePreview": true,    // 补全时预览代码
  "suggest.noselect": false         // 补全时默认选中第一项
}

4️⃣ 验证是否生效

  1. 重新启动 Vim 或 Neovim。
  2. 打开一个代码文件(如 .js, .ts, .py)。
  3. 输入部分代码,检查补全菜单是否正常显示,并按 Tab 或 Enter 测试补全行为。

5️⃣ 如果依然不生效

  • 确保 CoC 插件已正确安装:
    在 Vim 中运行以下命令,检查 CoC 是否已安装:

    :CocList extensions
    

    如果未安装语言扩展(如 coc-tsserver、coc-pyright 等),请安装相关扩展。

    :CocInstall coc-tsserver coc-pyright
    
  • 调试键映射:
    在 Vim 中输入以下命令,检查 Tab 是否正确映射:

    :verbose imap <Tab>
    

    它应该输出类似以下内容:

    i  <Tab>     * pumvisible() ? "\<C-n>" : "\<Tab>"
    

    如果未正确映射,检查配置文件中的映射代码是否有误。


总结

  • 确保 Tab 和 Enter 映射已正确设置。
  • 确保 coc.nvim 和语言服务器扩展正常工作。
  • 如果仍有问题,请提供错误信息或具体行为,我可以进一步帮助你排查! 😊

标签

  • vim
  • 登录或注册以发表评论

评论

相关文章

如何安装 coc-intelephense
vim 缓冲区列表命令
vim 一些常用设置的解释
vim出现无效寄存器错误
vim 如何取消高亮
vim 如何关闭多个文件
在 ubuntu 系统安装Vim-Plug
如何使用 Vim 的 Syntastic 插件
vim 设置默认窗口大小
如何在 Vim 中复制文本(到剪贴板)
Linux中如何用Vim复制粘贴外部内容
vim 命令使用大全
Vim编辑模式下查找与取消查找
vim在每行行首或行尾添加或删除内容
vim 查找与替换
如何在 Vim 中自动完成 CSS 语法
如何在 Vim 中自动完成 HTML 代码
Vim 上的 CSS 自动补全功能
vim-surround命令使用方法
vim yy复制p粘贴dd删除x剪切命令

文章标签

CSS
Excel
ubuntu
php
五笔
vim
Linux
HTML
command
drupal 7
composer
centos
Mysql
drupal 8
模块(module)
VPN
drush
JavaSrcipt
apache
drupal 9
英语
Drupal
SEO
nerdtree
network
果树种植
surround
drupal10
主题(theme)
phpmyadmin
ssh
权限
yum
二进制
声音
ssl
selinux
HTML5
用户
password
Dreamweaver
flameshot
颜色
翻译
uploadprogress
DDEV
视图(views)
firewalld
gzip
快捷键
kernel
xdebug
错误
ckeditor
mbstring
C语言
源地址
简介
php扩展
电脑基础
certbot
git
apt
压缩解压
表单
电子秤
httpd
WireGuard
邮件验证
breadcrumb
AI
superfish
diff
重定向
网站备份
摄影
tagclouds
docker
java
csharp
短信验证
adsense
drupal9
电脑技巧
simple_adsense
算法
RSS
youtube
版本号
JavaScript
badblocks
端口
cookie
VUE
网站运营
计算机基础
gimp
form
mod_expires 模块
nginx
zip
http验证
重定向,301
curl
netstat
input
赚钱
ip
dns
RFID
标签优化
drupal11
maven
drupal 11
npm
哈希值
字段
更多
RSS源
本站由阿里云强力驱动,幸运券优惠链接
Copyright © 2019 - 2021 你行网 版权所有  粤ICP备19072650号