转载

用 Neovim 取代 Vim

Neovim 刚出来火了一阵,不过我当时保守,直到读了令人激动的 Why Neovim is Better than Vim , 于是我就开始迁移到 Neovim 上了,并说说心得。

异步

Vim 不支持异步并发,Neovim 支持。于是我不用在更新插件特别是巨大的 YouCompleteMe 时动弹不得了。

不过刚刚推出的 Vim 7.5 倒支持异步 API 了,也算好事一桩。

默认配置更加友好

您相信 Vim 至今默认的 encoding 是 latin1 吗?Neovim 当然早改用 utf-8 了。还有 一些不合时宜的默认 setting 也纷纷得到了修改 ,免去用户手动配置之苦,我就在迁移原 .vimrc 时删去了 20 行多。

充分遵循 XDG 规范

Vim 默认的 .vimrc.vim 均在 $HOME 下,Neovim 则全挪为 $XDG_CONFIG_HOME/nvim/init.vim$XDG_CONFIG_HOME/nvim .

Vim 编辑文件时,可以有多达四个的临时文件: backup , swapfile , undofileviminfo . Unix 下的 Vim 分别默认存在 ".,~/tmp,~/" , ".,~/tmp,/var/tmp,/tmp" , "." , 其中 viminfo 的具体储存位置我一时还查不出来,就懒得深究了。

Neovim 则全改储存在 $XDG_DATA_HOME/nvim/ 下各自的目录里,此外 viminfo 更是被抛弃,被叫 ShaDa 且更为先进的二进制文件所代替,后者位于 $XDG_DATA_HOME/nvim/shada/main.shada .

但 GUI 还不够成熟

毕竟才刚出到 0.1.2, 所以目前只有 第三方提供的 GUI 框架 。Python 的 GUI 很不成熟,而且 neovim-qt 也不支持 gvimrc, 我不知道怎么设置 guifontbackground . 所以干脆在御用虚拟终端 Termite 上用 nvim 算了。

怎么迁移?

Arch Linux 用户都装 neovim , python-neovimpython2-neovim .

除非你用干净的 dotfiles 管理 Vim, 否则自行清理插件; 再迁移到 XDG 目录下 ;改用支持 Neovim 的 vim-plug 并重新安装所有插件;按 vim-difference 来打扫 init.vim 中已无用的设置。

最后,要留意 某个 bug .

Written with StackEdit .

原文  http://tech.acgtyrant.com/用-Neovim-取代-Vim/
正文到此结束
Loading...