Neovim 配置

01. VIM 配置
02. Neovim 配置
03. IdeaVim 进阶配置
04. VsVim 配置

前言

Vim 是一款拥有强大社区且仍不断发展的功能强大的文本编辑器。尽管 Vim 开发至今已有20年左右,人们仍然会扩展并希望改进它,最常用的就是使用 Vimscript 或其他一种受支持的脚本语言。

无可否认,Vim 是一款功能异常强大的文本编辑器,虽然上手难度陡峭,但一旦熟悉掌握,绝对会为你的文本编辑带来极大的便利。然而,由于历史架构原因,在 Vim 开发至今的20余年里,其代码累计已达恐怖的300k行C89代码,很少有人可以看懂,甚至说没有勇气去查阅。

这同时导致对于 Vim 的升级维护也异常困难,如果想为 Vim 添加功能,则维护者必须十分仔细地进行补丁检测,否则,一旦合并出现问题,那就是维护者的责任了。

这些问题导致了很难为 Vim 的核心代码进行新特性开发和 bug 修复。Vim 的开发速度已无法跟上其插件生态的开发建设了。

因此,Neovim 便应运而生了。

Neovim 简介

NeovimVim 的源码进行了积极的重构,以期达成如下目标:

  • 简化代码维护,提高漏洞修复和新特性开发速度。
  • 切分工作,分配给多个开发者共同进行开发。
  • 无需修改核心代码就可以实现高级 UI。
  • 使用基于协程的新型插件架构,使得可以以任意语言进行插件代码编写,无需编辑器的内置支持,大大增强插件编写的灵活性。

Neovim 意图并不是从头开始重新编码 Vim,或者将其开发成一个 IDE。一般来说,这里新的变更应当对 Vim 的编辑模式和 Vimscript 没有影响。大多数 Vimscript 插件应当能继续正常运行。

也就是说,我们的 vimrc 配置文件一般可以直接应用于 Neovim 中。

Neovim 特性

更多详细内容,请查看::help nvim-features

Neovim 配置

  • 安装:具体安装方法可查看:Neovim install,这里着重介绍下 Windows 10 上的安装步骤:
    下载 nvim-win64.zip,解压到本地路径,并将其配置到环境变量上:

   到此,控制台输入:nvim,即可调出 Neovim

  • 配置:这里我们让 Neovim 直接使用我们的 Vim 配置,具体步骤如下:
  1. 首先,为 Neovim 创建一个配置文件:init.vim
" 先启动 neovim
nvim
" 然后再 neovim 中输入如下两条命令
:call mkdir(stdpath('config'), 'p')
:exe 'edit '.stdpath('config').'/init.vim'

到这里,Neovim 的配置文件就创建成功了,其路径位于:C:\Users\<user>\AppData\Local\nvim\init.vim

  1. init.vim 中添加如下内容:
set runtimepath^=~/.vim runtimepath+=~/.vim/after
let &packpath = &runtimepath
" ~/.vimrc 表示: C:\Users\<user>\.vimrc,此处的.vimrc就是我们vim的配置文件,这里我们让 neovim 也使用该配置文件
source ~/.vimrc
  1. 配置主题:网上下载相应模板(具体可查看:更改 colorscheme),放入到目录:
system path
Widows ~\AppData\Local\nvim\colors
Linux ~/.config/nvim/colors

这里放上两个本人使用的主题:colors

最后在init.vim上进行配置:

colorscheme zenburn

到这里,Neovim 的配置就已经完成了。

插件安装

以下是博主自己安装的 Neovim 插件:

  • vim-plug:下载 plug.vim,并放置到路径:~\AppData\Local\nvim\autoload
    其余配置及使用方法,请查看:gvim 安装 vim-plug

  • semshi:为 Python 提供语义高亮
    安装:
    1)首先需要为 Neovim 提供 Python3 支持(:echo has("python3")):

pip3 install pynvim --upgrade 

2)下载:这里我们使用包管理器 vim-plug

Plug 'numirias/semshi', {'do': ':UpdateRemotePlugins'}

3)然后进行安装::PlugInstall
4)最后更新下远程插件菜单::UpdateRemotePlugins

  • [ncm2](替换为 coc.nvim:轻量级高效代码补全插件,支持多种语言。
    前提:
    1)Neovim 版本::echo has("nvim-0.2.2"),返回 1 表示支持。
    2)Python3 版本::echo has("python3"),返回 1 表示支持。如果返回 0,可尝试如下方法:
" shell command
python3 -m pip install pynvim

" vimrc
let g:python3_host_prog=/path/to/python/executable/ 

   3)安装:nvim-yarp

安装:

" assuming you're using vim-plug: https://github.com/junegunn/vim-plug
Plug 'ncm2/ncm2'
Plug 'roxma/nvim-yarp'

" NOTE: you need to install completion sources to get completions. Check
" our wiki page for a list of sources: https://github.com/ncm2/ncm2/wiki
Plug 'ncm2/ncm2-bufword'
Plug 'ncm2/ncm2-path'

" enable ncm2 for all buffers
autocmd BufEnter * call ncm2#enable_for_buffer()

" IMPORTANT: :help Ncm2PopupOpen for more information
set completeopt=noinsert,menuone,noselect
  • ncm2-jedi:基于 jedi 库的为 ncm2 提供的 Python 代码补全插件
    前提:由于该插件基于 jedi,因此需要先安装 jedi
pip install jedi

   配置:

" 指定 Python 版本
let g:ncm2_jedi#python_version = 3
  • ncm2-bufword:基于当前缓冲区的字段补全

  • ncm2-path:自动补全路径,路径会从以下3个地方进行补全:
    1)bufpath:基于当前文件缓冲区的路径补全
    2)cwdpath:基于当前工作目录的路径补全
    3)rootpath:基于根目录的路径补全

  • ncm2-match-highlight:依据 Mathematical_Alphanumeric_Symbolsncm2 提供的匹配高亮显示。(提示显示方块乱码,故去除)
    安装及配置:

" 该插件需先安装 ncm2
Plug 'ncm2/ncm2'
Plug 'roxma/nvim-yarp'
Plug "ncm2/ncm2-match-highlight"

let g:ncm2#match_highlight = 'sans-serif'

其余插件,请查看:VIM 配置

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • macvim配置 最终效果如下: 系统环境 macos10.12.4 homebrew1.2.1 python3....
    Like_eb56阅读 70,185评论 5 65
  • win7 + gvim 打造Python IDE 考虑到有的软件下载地址不能正确访问(原因你懂的),本文中用到的所...
    尔牛阅读 7,442评论 3 9
  • 一、前言 环境: ubuntu16.04 vim7.4 python3.5 最终效果预览 如果想充分地利用好本文,...
    MiracleJQ阅读 4,551评论 0 11
  • 真实有效的Vim配置记录(macOS) 以前在Ubuntu里配置了两次Vim,macOS中配置了一次,都没有配置成...
    染微言阅读 11,575评论 0 8
  • 世界那么大,没有导航App出门怎么办?在美东晃荡数月,总结了几种情况下使用App导航的体验。 希望后来者对这些坑有...
    chen4w阅读 1,327评论 0 0