安装

apt 仓库里的极大可能不是最新版,使用 apt show neovim 可以查看:

即便使用 PPA:stable 也不是最新的,而是落后了好几个版本:

sudo add-apt-repository ppa:neovim-ppa/stable

PPA:stable:https://launchpad.net/~neovim-ppa/+archive/ubuntu/stable

PPA:unstable:https://launchpad.net/~neovim-ppa/+archive/ubuntu/unstable

但毕竟都知道 unstable 不太 stable,所以这里不推荐使用 apt 安装

这里推荐从 AppImage 安装:

  1. 访问 https://github.com/neovim/neovim/releases/latest ,下载 x86_64 的 AppImage
wget https://github.com/neovim/neovim/releases/download/v0.11.4/nvim-linux-x86_64.appimage
  1. 使其可执行:
chmod u+x nvim.appimage
  1. 运行 Neovim:
./nvim.appimage
  1. 添加到 PATH:
sudo mv nvim.appimage /usr/local/bin/nvim

init.vim

  1. 安装 Vim-plug
curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

如果遇到网络问题,可以手动访问:https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim ,另存为 plug.vim,然后手动 mv 过去

mkdir -p ~/.config/nvim/autoload
mv ~/Downloads/plug.vim ~/.config/nvim/autoload/
  1. 创建 init.vim

~/.config/nvim/ 目录下创建 init.vim

这里提供我的 init.vim 配置文件:https://diraw.top/share/init.vim

我使用的插件有:

Plug 'git@github.com:neoclide/coc.nvim.git', {'branch': 'release'} " 代码补全
Plug 'morhetz/gruvbox' " 主题
Plug 'luochen1990/rainbow' " 彩虹括号
Plug 'itchyny/lightline.vim' " 底部提示栏
Plug 'git@github.com:preservim/nerdtree.git', { 'on': 'NERDTreeToggle' } " 文件树
Plug 'git@github.com:preservim/nerdcommenter.git' " 快捷注释
Plug 'git@github.com:jiangmiao/auto-pairs.git' " 自动补全括号
Plug 'Yggdroot/LeaderF', { 'do': ':LeaderfInstallCExtension', 'on': ['Leaderf', 'LeaderfFile', 'LeaderfBuffer', 'LeaderfMru', 'LeaderfHistory', 'LeaderfTag', 'LeaderfFunction', 'LeaderfLine', 'LeaderfRg'] } " 模糊搜索
Plug 'git@github.com:sheerun/vim-polyglot.git' " 语法高亮
Plug 'github/copilot.vim' " copilot
Plug 'wakatime/vim-wakatime' " wakatime
Plug 'tpope/vim-fugitive' " git插件
  1. 注意事项
  • 我有几个插件用的是ssh连接的,因为https一直连接不上github。这里需要把ssh的密钥添加到github。测试连接:ssh -T git@github.com
  • 如果使用 LeaderF 插件,需要安装:pip3 install pynvim,然后 which python3,把路径替换配置文件里的 python3_host_prog
  • 测试打开速度:time nvimnvim --startuptime log.txt
  1. 其他配置
  • copilot配置:使用命令 :Copilot setup,之后会有设备码,找任意一台登陆了github账号的电脑登录网页输入设备码即可
  • wakatime配置:使用命令 :WakaTimeApiKey,键入 https://wakatime.com/api-key ,最后ENTER即可

init.lua

待以后补充

虽然从理论来说lua的速度会更快一些,但是我感觉都差不多,可能是插件比较少的原因

可能出现的问题

GLIBC不兼容

Ubuntu 20.04 默认提供的 GLIBC 版本是 2.31,低于 AppImage 所需的 2.32、2.33、2.34。

使用 ldd 命令查看 GLIBC 版本:

ldd --version

不建议直接升级 GLIBC(GNU C Library),因为它是一个 Linux 系统中最核心、最基础的库。尝试直接升级它几乎总是会导致系统崩溃或变得无法启动。

所以要么下载源码自行编译,要么降低image的版本(实测 v10.4 是可以的):

这里尝试自行编译

自行编译

  1. 安装构建依赖:
sudo apt update
sudo apt install ninja-build gettext libtool libtool-bin autoconf automake cmake g++ pkg-config unzip curl doxygen
  1. 克隆 Neovim 仓库并切换标签:
git clone https://github.com/neovim/neovim.git
cd neovim
git checkout v0.11.4
  1. 编译和安装:
make CMAKE_BUILD_TYPE=Release
sudo make install

这将把 Neovim 安装到 /usr/local/bin/nvim。

lazy.nvim安装不了

打开nvim直接黑屏了,只能ctrl+c退出来,猜测是git clone的问题。无奈,只好手动clone了:

git clone --filter=blob:none https://github.com/folke/lazy.nvim.git --branch=main ~/.local/share/nvim/lazy/lazy.nvim
ls ~/.local/share/nvim/lazy/lazy.nvim/

后记

测了下速度,发现vim比nvim速度更快……气笑了

估计是因为nvim编译vimscript为lua以及一些其他的开销,如果用init.lua应该会更快吧,但暂时折腾不动了,以后再弄吧

不过nvim在一些细节上比vim更舒服,这0.2秒暂时先忍了