結論
Ubuntuでのインストールの場合、ppaを使うか実行ファイルを直接インストールするかの2択です。メリット、デメリットは次のようになります。
ppaによるインストール
- メリット
- aptがバージョン管理してくれる -> 常に最新版を使える
- デメリット
- apt updateが遅くなる(体感)
実行ファイルのインストール
- メリット
- プレリリースを含め、好きなバージョンをインストールできる
- バージョンを固定できる(勝手にアップデートされない)
- デメリット
- バージョンの自動更新ができない
バージョンがアップデートされることでバグが発生する場合もあるので (neovimで聞いたことはないけど...)、特に理由がなければ実行ファイルのインストールをするのがおすすめです。
動機
なぜかプラグインの補完が使えなくて原因を調べたところ、使っているneovimのバージョンが古いせいだった。
特に、Ubuntuでsudo apt install neovimとすると発生する。sudo apt install neovimでインストールできるneovimのバージョンは執筆段階だと0.6.1。最新のバージョンは0.10.2なのでかなり古いことが分かる。
行った作業
英語が読める人はneovimの公式ページがとても参考になります。
これだけだと味気ないのでUbuntuでのインストール方法をLinuxに慣れていない方向けに説明しておきます。
ppaによるインストール
まずはadd-apt-repositoryコマンドをインストールします。
- Ubuntuのバージョンが新しい場合
sudo apt-get install software-properties-common
- Ubuntuのバージョンが古い場合
sudo apt-get install python-software-properties
でadd-apt-repositoryをインストールしましょう。
後は次のコマンドでインストール完了です。
sudo add-apt-repository ppa:neovim-ppa/stable
sudo apt-get update
sudo apt-get install neovim
このままだとPythonサポートを受けられないので、neovim内で:Pythonを使いたい場合は次のスクリプトも実行しましょう。
- Ubuntuのバージョンが新しい場合
sudo apt-get install python-dev python-pip python3-dev python3-pip
- Ubuntuのバージョンが古い場合
sudo apt-get install python-dev python-pip python3-dev
sudo apt-get install python3-setuptools
sudo easy_install3 pip
実行ファイルのインストール
ファイルのダウンロード
Ubuntuに限らずLinuxであれば、以下のコマンドを打ち込むことで/opt/nvim-linux64/bin/nvimにneovimの実行ファイルをインストールできます。
wget https://github.com/neovim/neovim/releases/latest/download/nvim-linux64.tar.gz
sudo rm -rf /opt/nvim
sudo tar -C /opt -xzf nvim-linux64.tar.gz
Linuxに慣れていない方のために簡単に説明します。
- 一行目: wgetはインターネットからファイルを持ってこれるコマンドです。結構便利です。今回はnvim-linux64.tar.gzという圧縮ファイルを持ってきます。zipファイルみたいなものです。
- 二行目: /opt/nvimを削除します。消しても大丈夫か一応確認するとよいです。
- 三行目: nvim-linux64.tar.gzを展開します。
このように圧縮ファイルを持ってきて展開しているだけで実行ファイルをインストールできます。実際に/opt/nvim-linux64/binの中身を確認してみると、nvimという実行ファイルがあると思います。また、/opt/nvim-linux64/bin/nvimと入力するとnvimが起動できると思います。
毎回/opt/nvim-linux64/bin/nvimと入力するのは面倒なのでパスを通していきます。パスを通すとnvimと入力したとき、Linuxが/opt/nvim-linux64/bin/の中を自動で探してくれるようになります (もちろんその中にnvimファイルがあるので実行してくれます)。
パスを通す
パスはbashを使っていれば~/.bashrcの最後に、zshを使っていれば~/.zshrcの最後に以下を記述して追加できます。
export PATH="$PATH:/opt/nvim-linux64/bin"
パスというのは、linuxがコマンドを探すディレクトリのことです。例えば普段lsなどのコマンドを使っているかと思いますが、lsと入力したときlinuxはlsコマンドをいろんなところ(例えば/usr/bin/や/usr/local/binなど)から探します。この探しているディレクトリ群をパスといいます。試しにecho $PATHと入力すると、/usr/bin/:/usr/local/binのようにディレクトリが:区切りで並んでいると思います。
~/.bashrcにexport PATH="$PATH:/opt/nvim-linux64/bin"を追記すると、この探索場所に/opt/nvim-linux64/binを追加することができます。これによってnvimと入力したときにlinuxが/opt/nvim-linux64/binを探索し/opt/nvim-linux64/bin/nvimを見つけて実行してくれます。
また、シンボリックリンクを使う方法もあります。その場合は以下のコマンドを実行してください。
sudo ln -s /opt/nvim-linux64/bin/nvim /usr/local/bin/nvim
このコマンドを実行すると/usr/local/binディレクトリにnvimファイル(シンボリックリンク)が作成されます。このファイルは/opt/nvim-linux64/bin/nvimへのリンクとなっており、/usr/local/bin/nvimと/opt/nvim-linux64/bin/nvimが全く同じような働きをします。/usr/local/binディレクトリは基本的に始めからパスが通っているのでこれでnvimコマンドが実行できるようになります。より詳しく知りたい方はシンボリックリンクで調べてみてください。
まとめ
今回はUbuntuでよく陥りがちなneovimのバージョン問題とその解決方法について説明しました。基本的にはどのLinuxでも対応できる、実行ファイルのインストールによる方法を私はおすすめしておきます。neovimはバージョン0.9や0.10になっていろんな機能が追加されてめざましい発展を遂げているので、最新のneovimを楽しんでください!