Neovim
Neovim は Vim のフォークで API の実装を容易にし、ユーザー体験を向上させ、プラグインを実装できるようにすることを目的としています。
目次
インストール
neovim パッケージを インストール または最新の開発バージョンの場合は neovim-nightly-binAUR を選択します。これにより、 lua を主な構成言語として使用することが強く推奨されます。
また、 多くのGUIおよびその他の関連プロジェクト のいずれかをインストールすることもできます (大部分は 公式リポジトリ または AUR にあります)
- uivonim-gitAUR
- neovide-gitAUR, neovideAUR or neovide-binAUR
- neovim-qt
- neoray-gitAUR
- gnvimAUR
- fvimAUR
設定
Neovim のユーザ固有の設定ファイルは $XDG_CONFIG_HOME/nvim/init.vim
にあり、デフォルトでは ~/.config/nvim/init.vim
です。グローバルコンフィグレーションファイルが、存在する場合は $XDG_CONFIG_DIRS/nvim/sysinit.vim
デフォルトでは /etc/xdg/nvim/sysinit.vim
から、存在しない場合は /usr/share/nvim/sysinit.vim
からロードされます。このファイルは、ユーザが編集することはできません。[1] デフォルトでは、以前のグローバルコンフィグレーションファイルは存在しません。前者のファイルを作成する場合、 pacman でインストールされた vim パッケージを Neovim で動作させる機能が必要な場合は、後者をソースにすることもできます。
Neovim は Vimのほとんどのオプションと互換性がありますが、 Neovim 固有のオプションもあります。 Neovim のオプションの完全なリストについては、 Neovim の help file を参照してください。
Neovim のデータディレクトリは ~/.local/share/nvim/
にあり、開いているファイルのスワップ、 ShaDa (共有データ) ファイル、プラグインのサイトディレクトリが含まれています。
Neovim のバージョン 0.5 以降では、Lua 経由で Neovim をセットアップすることができます。デフォルトでは ~/.config/nvim/init.lua
、 API はまだ若いですが、一般的な設定は、これ以上のステップを踏むことなく、すぐに使えます。現在の設定を変換する方法については、 [2] を参照してください。現時点では、init.lua
を使用しても一般的な init.vim
を使用してもあまりメリットはありませんが、正しく実行すると、 Lua の起動時間がわずかに短縮され、設定も容易なため、 Lua で作成された複数のプラグインを使用する場合に特に便利になります。
vim からの移行
Neovim はメインの設定ディレクトリに ~/.vim
ではなく $XDG_CONFIG_HOME/nvim
を、メインの設定ファイルとして ~/.vimrc
ではなく $XDG_CONFIG_HOME/nvim/init.vim
を使用します。
移行に関する情報は nvim-from-vim を参照するか、neovim で :help nvim-from-vim
コマンドを実行することで得ることができます。
vim と nvim の間の共有設定
Neovimは、メイン設定ディレクトリとして ~/.vim
の代わりに $XDG_CONFIG_HOME/nvim
を使用し、メイン設定ファイルとして ~/.vimrc
の代わりに $XDG_CONFIG_HOME/nvim/init.vim
を使用します。
vim を使い続けたい場合や、Neovim で既存の vim 構成をソース化したい場合は、 nvim-from-vim または :help nvim-from-vim
neovim コマンド。
プラグインのロード
公式リポジトリ や AUR からインストールした Vim/Nvim プラグインは自動的に /etc/xdg/nvim/sysinit.vim
でソースを取得するので、余計な手順を踏む必要はありません。膨大な数のプラグインが両方の場所で見つかりますが、プラグインを追加する最も推奨される方法はプラグインマネージャを使うことです。最もよく使われるのは vim-plug で、Vim と Nvim の両方に使えます。また packer は Nvim 0.5 以降で使える、lua で記述されたプラグインマネージャーです。どちらも github のブランチから実行時のコマンドまで、表現力豊かな設定が可能です。
vim 用に書かれたプラグインのほとんどは Nvim でも問題なく動作しますが、Nvim 用に書かれたプラグインのすべてが Vim で動作するわけではないので、互換性のある設定を確保したい場合は、従来の init.vim
や .vimrc
を使ってください。
ヒントとテクニック
vi や vim を neovim で置き換える
$VISUAL
と $EDITOR
環境変数を設定することで大抵の場合に neovim が使われるようになります。
一部のアプリケーションでは vi や vim がデフォルトエディタとしてハードコードされていますが、neovim-drop-inAUR をインストールすることで neovim を使うことができます。
init.vim から .vimrc にシンボリックリンクを作成
neovim は標準 vim と互換性を保っているため、nvim/init.vim
から .vimrc
にシンボリックリンクを張ることで設定オプションをそのまま使うことができます:
$ ln -s ~/.vimrc ~/.config/nvim/init.vim
neovim と vim の設定を分けたい場合、.vimrc
ファイルの中で if
ブロックを使うことでどちらかにだけ適用される設定を記述できます:
if has('nvim') " Neovim specific commands else " Standard vim specific commands endif
Neovim へ true color サポートを追加する
このプロジェクト の READMEs
を読んで構文の強調表示とどのようにするかについて説明しています。 カラーピッカーを使用してリアルタイムでどのように見えるかを確認して下さい。 C++ 用の(インストールされている場合)の構文強調表示が付属しています。
言語サーバー プロトコル (LSP)
Neovim には組み込みの Language Server Protocol クライアントが含まれており、 nvim-lspconfig プラグインはその一般的な設定を提供します。
言語サーバーは、次のパッケージを使用してネイティブにインストールできます。
トラブルシューティング
Neovim を終了してもカーソルが元に戻らない
Neovim の終了後もカーソルが点滅してしまう場合は neovim FAQ の解決方法を見てください。