Ubuntu 安装 Neovim

文章目录

    GitHub Copilot 支持了 Neovim,但是没有支持 vim。所以,我决定试一把 Neovim。折腾了一天,也仅仅是安装完成,而要兼容之前的 Vim 配置,还遥遥无期。。。

    进入正题,在 Ubuntu 18.04 上,我尝试过 3 种方式安装 Neovim

    尝试过的安装方式

    • 失败:直接下载编译好的 nvim-linux64.tar.gz。但是运行后,会报错找不到 lua
    • 失败:源码编译安装。make 时会大量从 github 下载,网络问题会超时失败
    • 成功:apt install。唯一成功的方式

    apt install Neovim

    参考

    https://github.com/neovim/neovim/wiki/Installing-Neovim#ubuntu

    激进的我选择了安装最新的 unstable 版本

    sudo add-apt-repository ppa:neovim-ppa/unstable
    sudo apt-get update
    sudo apt-get install neovim
    

    保守的做法可以使用官方的 stable:

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

    ImportError: cannot import name ‘_gi’ from partially initialized module ‘gi’

    如果 add-apt-repository 报错:

    $ sudo add-apt-repository ppa:neovim-ppa/unstable
    
    Traceback (most recent call last):
      File "/usr/bin/add-apt-repository", line 11, in <module>
        from softwareproperties.SoftwareProperties import SoftwareProperties, shortcut_handler
      File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 67, in <module>
        from gi.repository import Gio
      File "/usr/lib/python3/dist-packages/gi/__init__.py", line 42, in <module>
        from . import _gi
    ImportError: cannot import name '_gi' from partially initialized module 'gi' (most likely due to a circular import) (/usr/lib/python3/dist-packages/gi/__init__.py)
    

    大概率是由于由默认的 python 3.6 升级到了 python 3.8 造成的。

    一种解决方法就是,改用 python3.6 执行 apt-add-repository。因为 apt-add-repository 不过就是一段 python 脚本。

    sudo python3.6 /usr/bin/apt-add-repository ppa:neovim-ppa/unstable
    

    查看版本号

    > nvim --version
    NVIM v0.7.0-dev
    Build type: RelWithDebInfo
    LuaJIT 2.1.0-beta3
    

    目前 2022-02-08,Neovim 官方的稳定版是 0.6.0 / 0.6.1,采用 unstable 版本直接上了 0.7.0。

    注意,如果使用 ubuntu 默认的源,安装的是非常旧的版本 NVIM v0.2.2。

    checkhealth provider

    E319: No “python3” provider found. Run “:checkhealth provider”

    第一次安装时,说找不到 python3 provider,提示运行

    :checkhealth provider
    

    这个命令超级方便,可以自动检测依赖的安装情况,同时会给出 python 相关的配置提示,非常友好。

    安装 python provider

    按照提示,执行

    pip3 install neovim
    

    并配置好 ~/.config/nvim/init.vim

    let g:python_host_prog = '/usr/bin/python'
    let g:python3_host_prog = '/usr/bin/python3'
    

    ModuleNotFoundError: No module named ‘pip._internal’

    pip3 install neovim
    

    报错:

    ModuleNotFoundError: No module named ‘pip._internal’

    修复:

    sudo python3 -m pip install --upgrade pip
    

    更极端一点

    把默认的 vim 指向 neovim

    sudo update-alternatives --install /usr/bin/vim vim /usr/bin/nvim 60
    sudo mv /usr/local/bin/vim /usr/local/bin/vim_bak
    

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式