neovim及coc.nvim自动补全初探

neovim及coc.nvim自动补全初探

安装

# mac
# 安装
brew install neovim
# 查看neovim安装路径
brew list nvim# ubuntu
apt install neovim

习惯了打开 vi/vim 的方式,可以用个 alias 在 ~/.zshrc 中设置一下:

alias vi="nvim"

插件

vim-plug

vim-plug 是一个非常好用的插件管理器,我们先安装它,然后再通过他来安装其他好用的插件。

Unix/Linux 根据 github 主页 给出的命令安装即可(可能需要走代理):

sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'

我们知道 vim 的配置文件是 vimrc ,而在 nvim 中,配置文件是 init.vim

使用 vim-plug 安装插件的过程是这样的:

  1. 将所需的插件写到 init.vim 的如下位置:

    call plug#begin()
    " ...
    " 要安装的插件列表
    " ...
    call plug#end()
    

    想要安装的 vim 插件可以到 https://vimawesome.com/ 网站去寻找。

  2. 打开 neovim,执行::PlugInstall 。其他相关的命令还有 :PlugStatus :PlugClean:PlugUpdate

    coc

coc 是一个知名的自动补全插件。

在安装完 vim-plug 之后,coc 的安装就很简单了,就按照我们上面介绍的步骤安装即可,首先去 https://vimawesome.com/ 网站中将 vim-plug 安装方式的一行复制到 init.vim 上面指定的插件列表处:

call plug#begin()
Plug 'neoclide/coc.nvim', {'branch': 'release'}
call plug#end()

然后打开 neovim,执行 :PluginInstall 即可。

安装完成后可以用 :checkhealth 命令检查各插件(现在我们还只有一个)安装是否正常。

这时可能会报错:

neovim [coc.nvim] build/inderx.js not found, please install dependencies and compile coc.nvim : yarn install

这时需要到安装目录 coc.nvim 中再去手动安装一下:

cd ~/.vim/bundle/coc.nvim	# for vim
cd /Users/username/.local/share/nvim/plugged/coc.nvim 	# for neovim
yarn install
yarn build

coc 安装完成之后还不能直接使用,还需要安装对应语言的扩展,如 Python 的 coc.pyright,具体有哪些扩展,可安装 markerplace 查看。

coc 常用命令:

CocList extensions	" 列出当前扩展
CocInstall xxx	" 安装某个扩展
...

也可以将 coc 的扩展写到 init.vim 中,再次打开 neovim 时会自动安装:

let g:coc_global_extensions = [\ 'coc-json',\ 'coc-vimlsp',\ 'coc-pyright']

除此之外,还需要按照作者的推荐(在其 github 首页)修改一下 init.vim 文件,来添加一些常用的快捷键(如 Tab 键补全等),建议大家搞懂作者提过的 vimscript 的内容,然后按需选择,添加到自己的 init.vim 文件中,这里推荐一个大神的解读视频 ,供大家参考。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/532473.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sed 简明教程

sed 简明教程 转自:https://coolshell.cn/articles/9104.html awk于1977年出生,今年36岁本命年,sed比awk大2-3岁,awk就像林妹妹,sed就是宝玉哥哥了。所以 林妹妹跳了个Topless,他的哥哥sed坐不住了&#xf…

awk 简明教程

awk 简明教程 转自:https://coolshell.cn/articles/9070.html 有一些网友看了前两天的《Linux下应该知道的技巧》希望我能教教他们用awk和sed,所以,出现了这篇文章。我估计这些80后的年轻朋友可能对awk/sed这类上古神器有点陌生了&#xff0c…

应该知道的LINUX技巧

应该知道的LINUX技巧 转自:https://coolshell.cn/articles/8883.html 这篇文章来源于Quroa的一个问答《What are some time-saving tips that every Linux user should know?》—— Linux用户有哪些应该知道的提高效率的技巧。我觉得挺好的,总结得比较好…

[深度][PyTorch] DDP系列第一篇:入门教程

[深度][PyTorch] DDP系列第一篇:入门教程 转自:[原创][深度][PyTorch] DDP系列第一篇:入门教程 概览 想要让你的PyTorch神经网络在多卡环境上跑得又快又好?那你definitely需要这一篇! No one knows DDP better than I…

[深度][PyTorch] DDP系列第二篇:实现原理与源代码解析

[深度][PyTorch] DDP系列第二篇:实现原理与源代码解析 转自:https://zhuanlan.zhihu.com/p/187610959 概览 想要让你的PyTorch神经网络在多卡环境上跑得又快又好?那你definitely需要这一篇! No one knows DDP better than I do! …

[深度][PyTorch] DDP系列第三篇:实战与技巧

[深度][PyTorch] DDP系列第三篇:实战与技巧 转自:https://zhuanlan.zhihu.com/p/250471767 零. 概览 想要让你的PyTorch神经网络在多卡环境上跑得又快又好?那你definitely需要这一篇! No one knows DDP better than I do! – – …

PIL、OpenCV中resize算子实现不同的问题

PIL、OpenCV中resize算子实现不同的问题 测试图像:https://raw.githubusercontent.com/TropComplique/ssd-pytorch/master/images/dogs-and-cats.jpg (直接 wget 可获得) 测试版本: opencv-python 4.4.0.46Pillow 8.0.1 测试代…

mac X11 XQuartz的安装与使用

mac X11 XQuartz的安装与使用 本地系统:MacOS 12.4 远程主机系统:Ubuntu 18.04 命令说明 ssh命令 ssh 命令大家很熟悉了,这里仅介绍与 X11 forwarding 相关的几个选项。 本部分译自 ssh 命令手册,可见 man ssh -X &#xf…

机器学习:系统设计与实现 分布式训练

机器学习系统:设计与实现 分布式训练 转自:https://openmlsys.github.io/chapter_distributed_training/index.html 随着机器学习的进一步发展,科学家们设计出更大型,更多功能的机器学习模型(例如说,GPT-3)…

Linux命令行及各常用工具代理设置

Linux命令行及各常用工具代理设置 命令行代理设置 1 通过命令行指定 直接为当前命令行设置代理 对当前终端的全部工具(apt、curl、wget、git 等全都有效)以下仅以 http 代理为例,如果是其他协议(如 socks 等)自行改…

VimScript 五分钟入门(翻译)

VimScript 五分钟入门(翻译) 转自:https://zhuanlan.zhihu.com/p/37352209 译注:折腾 Vim 当然要能看懂和改写相关脚本,而中文资料匮乏,缺一个提纲挈领的教程。本文翻译自 Andrew Scala 的 《Five Minute V…

C++多线程推理、生产者消费者模式封装

C多线程推理、生产者消费者模式封装 tensorRT从零起步迈向高性能工业级部署(就业导向) 课程笔记,讲师讲的不错,可以去看原视频支持下。 深度学习推理中的多线程知识概览 本章介绍的多线程主要是指算法部署时所涉及的多线程内容&a…

在Python中调用C/C++:cython及pybind11

在Python中调用C/C:cython及pybind11 转自:https://zhuanlan.zhihu.com/p/442935082 Python写起来非常方便, 但面对大量for循环的时候, 执行速度有些捉急. 原因在于, python是一种动态类型语言, 在运行期间才去做数据类型检查, 这样效率就很低(尤其是大规…

Pytorch导出onnx模型,C++转化为TensorRT并实现推理过程

Pytorch导出onnx模型,C转化为TensorRT并实现推理过程 前言 本文为旨在实现整个Python导出PyTorch模型,C转化为TensorRT并实现推理过程过程,只与模型推理,模型部署相关,不涉及模型训练。为突出整个部署过程而非具体模…

从零Makefile落地算法大项目,完整案例教程

从零Makefile落地算法大项目,完整案例教程 转自:从零Makefile落地算法大项目,完整案例教程 作者:手写AI 前言 在这里,你能学到基于Makefile的正式大项目的使用方式和考虑,相信我,其实可以很简单…

PyTorch扩展自定义PyThonC++(CUDA)算子的若干方法总结

PyTorch扩展自定义PyThon/C(CUDA)算子的若干方法总结 转自:https://zhuanlan.zhihu.com/p/158643792 作者:奔腾的黑猫 在做毕设的时候需要实现一个PyTorch原生代码中没有的并行算子,所以用到了这部分的知识,再不总结就要忘光了 &a…

给 Python 算法插上性能的翅膀——pybind11 落地实践

给 Python 算法插上性能的翅膀——pybind11 落地实践 转自:https://zhuanlan.zhihu.com/p/444805518 作者:jesonxiang(向乾彪),腾讯 TEG 后台开发工程师 1. 背景 目前 AI 算法开发特别是训练基本都以 Python 为主&…

chrome自动提交文件_收集文档及提交名单统计

知乎文章若有排版问题请见谅,原文放在个人博客中【欢迎互踩!】文叔叔文档收集使用动机在我们的学习工作中,少不了要让大家集体提交文件的情况,举个最简单的例子:收作业。 传统的文件收集流程大致是:群内发出…

Pytorch自定义C++/CUDA扩展

Pytorch自定义C/CUDA扩展 翻译自:官方文档 PyTorch 提供了大量与神经网络、张量代数、数据整理和其他操作。但是,我们有时会需要更加定制化的操作。例如,想要使用论文中找到的一种新型的激活函数,或者实现自己设计的算子。 在 Py…

惠普800g1支持什么内存_惠普黑白激光打印机哪种好 惠普黑白激光打印机推荐【图文详解】...

打印机的出现让我们在生活和日常工作中变得越来越方便,不过随着科技的发展,打印机的类型也变得非常多,其中就有黑白激光打印机,而黑白激光打印机的品牌也有很多,比如我们的惠普黑白激光打印机,今天小编就给…