安装 neovim

官方教程:https://github.com/neovim/neovim/wiki/Installing-Neovim
官方 FAQ:https://github.com/neovim/neovim/wiki/FAQ
ubuntu 下安装前先把 vim 卸载干净:

  1. sudo apt-get remove vim vim-*

使用安装命令:

  1. sudo apt-get install neovim

注意 neovim 的配置文件是 ~/.config/nvim/init.vim 而不是 ~/.vimrc ,windows 下是 ~/AppData/Local/nvim/init.vim 。如果没有目录和文件,自行创建:

  1. mkdir ~/.config/nvim
  2. touch ~/.config/nvim/init.vim

安装 vim-plug

  1. curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs \
  2. https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

注意 vim-plug 官方是以 vim 为例子,对 neovim 来说,~/.config/nvim 才是起作用的配置目录。
下载的主要内容是 plug.vim 文件,所以只要能获取这个文件到 autoload 目录(对 vim 来说是~/.vim,对 neovim 来说是 ~/.config/nvim),什么样的方式都可以(git clone 或者网页复制之类的)。只要存在于 autoload 目录,vim / nvim 就可以直接加载。
以往使用 vim,常常把配置全部写在 .vimrc 里面,然后使用 source 某个.vim 语句来把加载不同类型的配置。比如

  1. source $HOME/.config/nvim/settings/vim-plug.vim " vim-plug 的配置文件,用来写安装的插件
  2. source $HOME/.config/nvim/settings/colorscheme.vim " 主题调整
  3. source $HOME/.config/nvim/settings/keybind.vim " 快捷键绑定

vim-plug.vim 文件中,只写插件来源就好:

  1. call plug#begin('~/.config/nvim/autoload/plugged')
  2. Plug 'https://github.com.cnpmjs.org/racer-rust/vim-racer'
  3. Plug 'https://github.com.cnpmjs.org/rust-lang/rust.vim'
  4. Plug 'https://github.com.cnpmjs.org/prabirshrestha/vim-lsp'
  5. Plug 'https://github.com.cnpmjs.org/honza/vim-snippets'
  6. Plug 'https://github.com.cnpmjs.org/neoclide/coc.nvim'
  7. Plug 'https://hub.fastgit.org/skywind3000/vim-terminal-help.git'
  8. Plug 'https://hub.fastgit.org/wfxr/minimap.vim.git'
  9. Plug 'https://github.com.cnpmjs.org/preservim/nerdtree'
  10. Plug 'https://github.com.cnpmjs.org/preservim/nerdcommenter'
  11. Plug 'https://github.com.cnpmjs.org/preservim/nerdtree.git'
  12. Plug 'https://github.com.cnpmjs.org/preservim/nerdcommenter.git'
  13. Plug 'https://github.com.cnpmjs.org/jiangmiao/auto-pairs.git'
  14. Plug 'https://github.com.cnpmjs.org/tpope/vim-surround.git'
  15. Plug 'https://github.com.cnpmjs.org/arzg/vim-rust-syntax-ext.git'
  16. Plug 'https://github.com.cnpmjs.org/mnishz/colorscheme-preview.vim.git'"
  17. call plug#end()

注意: #begin('~/.config/nvim/autoload/plugged')vim-plug 安装存放的目录。


参考:https://github.com/junegunn/vim-plughttps://www.chrisatmachine.com/Neovim/01-vim-plug/

解决 Home、End、小键盘 键失效

以前没注意到 Home End 之类的键使用得如此频繁,突然失效觉得编程效率大大降低。之前使用 vim,这两个键没有任何问题,安装 neovim 之后竟然失效了。查了半天,才搞清楚和环境变量 TERM 的设置有关。
在 vim / nvim 中输入 :h $TERM 可以看到各种参数,常用的有:tmux, tmux-256color, xterm, xterm-256color, putty, putty-256color。

  1. For this terminal Set $TERM to builtin-terms
  2. -------------------------------------------------------------------------
  3. anything libvte-based vte, vte-256color Y
  4. (e.g. GNOME Terminal) (aliases: gnome, gnome-256color)
  5. iTerm (original) iterm, iTerm.app N
  6. iTerm2 (new capabilities) iterm2, iTerm2.app Y
  7. Konsole konsole-256color N
  8. Linux virtual terminal linux, linux-256color Y
  9. PuTTY putty, putty-256color Y
  10. rxvt rxvt, rxvt-256color Y
  11. screen screen, screen-256color Y
  12. simple terminal (st) st, st-256color Y
  13. Terminal.app nsterm N
  14. tmux tmux, tmux-256color Y
  15. Windows/ConEmu conemu Y
  16. Windows/Cygwin-built Nvim cygwin Y
  17. Windows/Interix interix Y
  18. Windows/VTP console vtpcon Y
  19. Windows/legacy console win32con Y
  20. xterm or compatible xterm, xterm-256color Y

在终端使用命令: export TERM=tmux 之类的,然后在 vim 去一个个试 Home End 键有没有起效,没有起效说明在所使用的终端类型不符合系统的设置。找到正确的 TERM 之后把这个命令写入环境变量即可(比如 /etc/profile.d/xx.sh 然后 source )。
注意写入系统 .sh 配置文件,而不是 vim 的 .vim 配置文件,否则打开 vim 会遇到 neovim Unknown option: TERM=... 错误。
相关阅读:Xshell 的 terminal 修改连接Linux服务器的终端仿真软件的termianl type详解
image.png