「Neovim」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎インストール: 情報を更新)
(翻訳を修正)
 
(2人の利用者による、間の17版が非表示)
1行目: 1行目:
 
[[Category:開発]]
 
[[Category:開発]]
 
[[Category:テキストエディタ]]
 
[[Category:テキストエディタ]]
  +
[[Category:コンソールアプリケーション]]
 
[[en:Neovim]]
 
[[en:Neovim]]
 
[[es:Neovim]]
 
[[es:Neovim]]
 
[[pl:Neovim]]
 
[[pl:Neovim]]
 
[[pt:Neovim]]
 
[[pt:Neovim]]
  +
[[zh-hans:Neovim]]
[https://neovim.io/ Neovim] は [[Vim]] のフォークで API の実装を容易にし、ユーザー体験を向上させ、プラグインを実装できるようにすることを目的としています。
 
  +
[https://neovim.io/ Neovim] は、コードベースの改善を目的とした [[Vim]] のフォークであり、API の実装を容易にし、ユーザーエクスペリエンスとプラグインの実装を向上させます。Neovim は [[Helix]] のようなエディターに影響を与えました。
   
 
== インストール ==
 
== インストール ==
  +
{{Pkg|neovim}} パッケージを [[インストール]] または最新の開発バージョンの場合は {{Aur|neovim-nightly-bin}} を選択します。メインの構成言語として {{Pkg|lua}} を使用することが強く推奨されます。
 
  +
{{Pkg|neovim}} パッケージを [[インストール]] または最新の開発バージョンの場合は {{Aur|neovim-nightly-bin}} を選択して下さい。メインの設定言語として {{Pkg|lua}} を使用することが強く推奨されます。
 
システムクリップボードを Neovim で動作させるには、{{Pkg|xclip}} (X11) または {{Pkg|wl-clipboard}} (Wayland) をインストールする必要があります。
 
システムクリップボードを Neovim で動作させるには、{{Pkg|xclip}} (X11) または {{Pkg|wl-clipboard}} (Wayland) をインストールする必要があります。
   
{{Note|neovim では、一部の機能が外部 ''プロバイダ'' に委任されます。 Python プロバイダの場合は、 {{Pkg|python-pynvim}} を使用します。
+
{{Note|neovim では、一部の機能が外部 ''プロバイダ'' に委任されます。Python プロバイダの場合は、{{Pkg|python-pynvim}} を使用します。
クリップボードプロバイダの場合は、 [https://neovim.io/doc/user/provider.html#provider-clipboard provider-clipbood] または {{ic|:help provider-clipboard}} neovim コマンド}}
+
クリップボードプロバイダの場合は、[https://neovim.io/doc/user/provider.html#provider-clipboard provider-clipbood] または {{ic|:help provider-clipboard}} neovim コマンドを参照してください。}}
   
また、 [https://github.com/neovim/neovim/wiki/Related-projects 多くのGUIおよびその他の関連プロジェクト] のいずれかをインストールすることもできます (大部分は [[公式リポジトリ]] または [[AUR]] にあります)
+
また、[https://github.com/neovim/neovim/wiki/Related-projects 多くの GUI およびその他の関連プロジェクト] のいずれかをインストールすることもできます (大部分は [[公式リポジトリ]] または [[AUR]] にあります)
   
  +
* {{App|{{Pkg|neovim-qt}}|高速、軽量、カスタマイズ可能な Qt GUI 複数のタブ、分割ウィンドウ、カスタマイズ可能なテーマのサポートを含む、最新のインターフェイスを提供します。|https://github.com/equalsraf/neovim-qt|{{Pkg|neovim-qt}}}}
* {{Pkg|neovim-qt}}
 
  +
* {{App|{{AUR|neovim-gtk}}|GTK GUI 分割ウィンドウ、複数のタブ、カスタマイズ可能なテーマのサポートを含む、最新のカスタマイズ可能なインターフェイスを提供します。|https://github.com/Lyude/neovim-gtk|{{AUR|neovim-gtk}}, {{AUR|neovim-gtk-git}}}}
* {{AUR|neovim-gtk}} or {{AUR|neovim-gtk-git}}
 
  +
* {{App|{{AUR|uivonim-git}}|([https://aur.archlinux.org/packages/uibonim-git#comment-888471 Inactive]) シンプルで軽量な GTK GUI 分割ウィンドウやカスタマイズ可能なテーマのサポートなど、最小限のインターフェイスを提供します。|{{AUR|uivonim-git}}|{{AUR|uivonim-git}}}}
* {{AUR|uivonim-git}}
 
* {{AUR|neovide-git}}, {{AUR|neovide}} or {{AUR|neovide-bin}}
+
* {{App|{{Pkg|neovide}}|Rust GUI.|https://github.com/neovide/neovide|{{Pkg|neovide}}, {{AUR|neovide-git}}}}
* {{AUR|neoray-git}}
+
* {{App|{{AUR|neoray-git}}|Go GUI.|https://github.com/hismailbulut/neoray|{{AUR|neoray-git}}}}
  +
* {{App|{{AUR|gnvim}}|GTK GUI.|https://github.com/vhakulinen/gnvim|{{AUR|gnvim}}}}
* {{AUR|gnvim}}
 
  +
* {{App|{{AUR|fvim}}|F# GUI.|https://github.com/yatli/fvim|{{AUR|fvim}}}}
* {{AUR|fvim}}
 
   
 
== 設定 ==
 
== 設定 ==
32行目: 35行目:
 
Neovim のデータディレクトリは {{ic|~/.local/share/nvim/}} にあり、開いているファイルのスワップ、 [https://neovim.io/doc/user/starting.html#shada ShaDa] (共有データ) ファイル、プラグインのサイトディレクトリが含まれています。
 
Neovim のデータディレクトリは {{ic|~/.local/share/nvim/}} にあり、開いているファイルのスワップ、 [https://neovim.io/doc/user/starting.html#shada ShaDa] (共有データ) ファイル、プラグインのサイトディレクトリが含まれています。
   
Neovim のバージョン 0.5 以降では、Lua 経由で Neovimセットアップすることができます。デフォルトでは {{ic|~/.config/nvim/init.lua}}、 API はまだ若いですが、一般的設定は、これ以上のステップを踏むことなく、すぐに使え。現在の設定を変換する方法については、 [https://github.com/nanotee/nvim-lua-guide] を参照してください。現時点では、{{ic|init.lua}} を使用しても一般的な {{ic|init.vim}} を使用てもあまりメリットはありませんが、正しく実行ると Lua 起動時間がわずかに短縮され、設定も容易ため Lua で作成された複数のプラグインを使用する場合に特に便利になります。
+
Nvim のバージョン 0.5 から Lua を使って Nvim設定することができるようにした。現在の設定を変換する方法については、[https://github.com/nanotee/nvim-lua-guide] を参照してください。現時点では、{{ic|init.lua}} 一般的な {{ic|init.vim}} を比較た場合、あまり大きなメリットはありませんが、正しく設定れば、Lua 起動時間を少し改善しますし、設定が簡単ので、Lua で書かれたプラグインをいくつか使場合に特に有用です。
   
 
=== vim からの移行 ===
 
=== vim からの移行 ===
   
Neovim はメインの設定ディレクトリに {{ic|~/.vim}} なく {{ic|$XDG_CONFIG_HOME/nvim}} をメインの設定ファイルとして {{ic|~/.vimrc}} ではなく {{ic|$XDG_CONFIG_HOME/nvim/init.vim}} を使用します。
+
既存の Vim の設定 Nvim に移行したい場合は、{{ic|~/.vimrc}} {{ic|~/.config/nvim/init.vim}} にコピーするだけす。
  +
該当する場合は、{{ic|~/.vim/autoload/}} の内容を {{ic|~/.local/share/nvim/site/autoload/}} にコピーしてください。
 
移行に関する情報は [https://neovim.io/doc/user/nvim.html#nvim-from-vim nvim-from-vim] を参照するか、neovim で {{ic|:help nvim-from-vim}} コマンドを実行することで得ることができます。
 
   
 
=== vim と nvim の間の共有設定 ===
 
=== vim と nvim の間の共有設定 ===
44行目: 46行目:
 
Neovimは、メイン設定ディレクトリとして {{ic|~/.vim}} の代わりに {{ic|$XDG_CONFIG_HOME/nvim}} を使用し、メイン設定ファイルとして {{ic|~/.vimrc}} の代わりに {{ic|$XDG_CONFIG_HOME/nvim/init.vim}} を使用します。
 
Neovimは、メイン設定ディレクトリとして {{ic|~/.vim}} の代わりに {{ic|$XDG_CONFIG_HOME/nvim}} を使用し、メイン設定ファイルとして {{ic|~/.vimrc}} の代わりに {{ic|$XDG_CONFIG_HOME/nvim/init.vim}} を使用します。
   
vim を使い続けたい場合や、Neovim で既存の vim 構成をソース化したい場合は、 [https://neovim.io/doc/user/nvim.html#nvim-from-vim nvim-from-vim] または {{ic|:help nvim-from-vim}} neovim コマンド。
+
vim を使い続けたい場合や、Neovim で既存の vim 構成をソース化したい場合は、 [https://neovim.io/doc/user/nvim.html#nvim-from-vim nvim-from-vim] または {{ic|:help nvim-from-vim}} neovim コマンドを参照して下さい
   
 
==== プラグインのロード ====
 
==== プラグインのロード ====
74行目: 76行目:
 
endif
 
endif
   
=== Neovim へ true color サポートを追加する ===
+
=== True color サポート ===
  +
  +
[https://github.com/carlowood/nneovim-true-color-scheme-editor このプロジェクト] の {{ic|READMEs}} では、構文の強調表示に24ビットの ''TrueColor'' サポートを追加する方法と、カラーピッカーを使用してリアルタイムでどのように表示されるかを確認する方法について説明しています。C++ 用の作者のシンタックスハイライト (インストールしている場合) が付属しています。
  +
  +
=== カーソルの最後の位置をサポート ===
  +
  +
カーソルの最後の位置を保存したい場合は、[https://github.com/neovim/neovim/issues/16339#issuecomment-1348133829 lastplace.lua] が非常に便利です。 {{ic|~/.config/nvim/plugin/}} またはシステム全体のディレクトリ {{ic|/usr/share/nvim/runtime/plugin/}} に配置する必要があります。
  +
  +
=== 言語サーバープロトコル (LSP) ===
   
  +
Neovim には、組み込みの [https://microsoft.github.io/ language-server-protocol Language Server Protocol] クライアントと [https://github.com/neovim/nvim-lspconfig nvim-lspconfig] プラグインが共通の機能を提供します。
[https://github.com/carlowood/nneovim-true-color-scheme-editor このプロジェクト] の {{ic|READMEs}} では、構文の強調表示に24ビットの ''TrueColor'' サポートを追加する方法と、カラーピッカーを使用してリアルタイムでどのように表示されるかを確認する方法について説明しています。 C++ の作成者(インストールされている場合)の構文の強調表示が付属しています。
 
   
=== 言語サーバー プロ (LSP) ===
+
言語サーバーは、次のパッケージを使用してネイティブにインスできます:
   
  +
Arch パッケージのリストについては、[[言語サーバープロトコル]] を参照してください。
Neovim には組み込みの [https://microsoft.github.io/language-server-protocol Language Server Protocol] クライアントが含まれており、 [https://github.com/neovim/nvim-lspconfig nvim-lspconfig] プラグインはその一般的な設定を提供します。
 
   
  +
=== ページャとして使用 ===
言語サーバーは、次のパッケージを使用してネイティブにインストールできます。
 
   
  +
Neovim をページャとして使用できます。 {{AUR|nvimpager}} または {{AUR|nvimpager-git}} パッケージをインストールし、{{ic|PAGER}} の環境変数を {{ic|nvimpager}} に [[export]] します。
{| class="wikitable"
 
! lSP config
 
! Language
 
! LSP サーバー パッケージ
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#als als]
 
| Ada/SPARK
 
| {{Aur|ada_language_server}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#angularls angularls]
 
| Angular
 
|
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#bashls bashls]
 
| BASH
 
| {{Pkg|bash-language-server}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#ccls ccls]
 
| C, C++, Objective-C
 
| {{Pkg|ccls}} {{Aur|ccls-git}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#clangd clangd]
 
| C++
 
| {{Pkg|clang}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#clojure_lsp clojure_lsp]
 
| Clojure
 
| {{Aur|clojure-lsp-bin}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#cmake cmake]
 
| CMake
 
| {{Aur|cmake-language-server}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#codeqlls codeqlls]
 
| CodeQL
 
| {{Aur|codeql}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#cssls cssls]
 
| CSS, LESS, SASS
 
| {{Aur|vscode-css-languageserver-bin}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#dartls dartls]
 
| Dart
 
| {{Pkg|dart}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#denols denols]
 
| JavaScript, TypeScript
 
| {{Pkg|deno}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#dhall_lsp_server dhall_lsp_server]
 
| Dhall
 
| {{Pkg|dhall-lsp-server}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#diagnosticls diagnosticls]
 
| General purpose
 
| {{Aur|diagnostic-languageserver}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#dockerls dockerls]
 
| Dockerfile
 
| {{Aur|dockerfile-language-server}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#efm efm]
 
| General purpose
 
| {{Pkg|efm-langserver}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#elixirls elixirls]
 
| Elixir
 
| {{Aur|elixir-ls}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#elmls elmls]
 
| Elm
 
| {{Aur|elm-language-server}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#erlangls erlangls]
 
| Erlang
 
| {{Aur|erlang_ls-git}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#flow flow]
 
| Flow
 
| {{Aur|flow}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#fortls fortls]
 
| Fortran
 
| {{Aur|fortran-language-server}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#fsautocomplete fsautocomplete]
 
| F#
 
|
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#gdscript gdscript]
 
| GDScript
 
| {{Pkg|godot}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#ghcide ghcide]
 
| Haskell
 
| {{Aur|ghcide}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#gopls gopls]
 
| GOlang
 
| {{Pkg|gopls}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#graphql graphql]
 
| GraphQL
 
| {{Aur|graphql-lsp}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#groovyls groovyls]
 
| Groovy
 
| {{Aur|groovy-language-server-git}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#haxe_language_server haxe_language_server]
 
| Haxe
 
|
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#hie hie]
 
| Haskell
 
| {{Aur|haskell-ide-engine}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#hls hls]
 
| Haskell
 
| {{Pkg|haskell-language-server}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#html html]
 
| HTML
 
| {{Aur|vscode-html-languageserver}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#intelephense intelephense]
 
| PHP
 
| {{Aur|nodejs-intelephense}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#java_language_server java_language_server]
 
| Java
 
| {{Aur|java-language-server}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#jdtls jdtls]
 
| Java
 
| {{Aur|jdtls}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#jedi_language_server jedi_language_server]
 
| Jedi
 
| {{Pkg|jedi-language-server}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#jsonls jsonls]
 
| JSON
 
| {{Aur|vscode-json-languageserver-bin}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#julials julials]
 
| Julia
 
|
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#kotlin_language_server kotlin_language_server]
 
| Kotlin
 
| {{Aur|kotlin-language-server}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#leanls leanls]
 
| Lean
 
|
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#metals metals]
 
| Scala
 
| {{Aur|metals}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#nimls nimls]
 
| Nim
 
|
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#ocamlls ocamlls]
 
| OCaml, Reason
 
|
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#ocamllsp ocamllsp]
 
| OCaml, Reason
 
| {{Aur|ocaml-lsp-git}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#omnisharp omnisharp]
 
| OmniSharp
 
| {{Aur|omnisharp-roslyn}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#perlls perlls]
 
| Perl
 
| {{Aur|perl-perl-languageserver}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#phpactor phpactor]
 
| PHP
 
|
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#powershell_es powershell_es]
 
| PowerShell
 
|
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#purescriptls purescriptls]
 
| PureScript
 
| {{Aur|purescript-language-server}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#pyls pyls]
 
| Python
 
| {{Pkg|python-language-server}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#pyls_ms pyls_ms]
 
| Python
 
| {{Aur|microsoft-python-language-server}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#pylsp pylsp]
 
| Python
 
| {{Aur|python-lsp-server}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#pyright pyright]
 
| Python
 
| {{Pkg|pyright}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#r_language_server r_language_server]
 
| R
 
|
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#racket_langserver racket_langserver]
 
| Racket
 
|
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#rescriptls rescriptls]
 
| ReScript
 
|
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#rls rls]
 
| Rust
 
| {{Aur|rls-git}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#rnix rnix]
 
| nix
 
| {{Aur|rnix-lsp-git}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#rome rome]
 
| Rome
 
|
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#rust_analyzer rust_analyzer]
 
| Rust
 
| {{Pkg|rust-analyzer}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#scry scry]
 
| Crystal
 
| {{Aur|scry-git}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#solargraph solargraph]
 
| Ruby
 
| {{Aur|ruby-solargraph}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#sorbet sorbet]
 
| Ruby
 
|
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#sourcekit sourcekit]
 
| C, C++, Objective-C
 
| {{Aur|swift-language}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#sqlls sqlls]
 
| SQL
 
| {{Aur|sql-language-server}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#sqls sqls]
 
| SQL
 
|
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#stylelint_lsp stylelint_lsp]
 
| stylelint
 
|
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#sumneko_lua sumneko_lua]
 
| Lua
 
| {{Aur|lua-language-server}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#svelte svelte]
 
| Svelte
 
| {{Aur|nodejs-svelte-language-server}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#svls svls]
 
| SystemVerilog
 
|
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#terraformls terraformls]
 
| Terraform
 
| {{Aur|terraform-ls}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#texlab texlab]
 
| (La)TeX
 
| {{Pkg|texlab}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#tflint tflint]
 
| Terraform
 
| {{Aur|tflint}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#tsserver tsserver]
 
| TypeScript
 
| {{Aur|typescript-language-server-bin}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#vala_ls vala_ls]
 
| Vala
 
| {{Aur|vala-language-server}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#vimls vimls]
 
| Vim
 
| {{Aur|vim-language-server}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#vls vls]
 
| V
 
|
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#vuels vuels]
 
| Vue
 
| {{Aur|nodejs-vls}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#yamlls yamlls]
 
| YAML
 
| {{Aur|yaml-language-server}}
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#zeta_note zeta_note]
 
| Markdown
 
|
 
|-
 
| [https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md#zls zls]
 
| Zig
 
| {{Aur|zls-bin}}
 
|}
 
   
 
== トラブルシューティング ==
 
== トラブルシューティング ==

2023年12月21日 (木) 15:12時点における最新版

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://github.com/equalsraf/neovim-qt || neovim-qt
  • neovim-gtkAUR — GTK GUI 分割ウィンドウ、複数のタブ、カスタマイズ可能なテーマのサポートを含む、最新のカスタマイズ可能なインターフェイスを提供します。
https://github.com/Lyude/neovim-gtk || neovim-gtkAUR, neovim-gtk-gitAUR
  • uivonim-gitAUR — (Inactive) シンプルで軽量な GTK GUI 分割ウィンドウやカスタマイズ可能なテーマのサポートなど、最小限のインターフェイスを提供します。
uivonim-gitAUR || uivonim-gitAUR
https://github.com/neovide/neovide || neovide, neovide-gitAUR
https://github.com/hismailbulut/neoray || neoray-gitAUR
https://github.com/vhakulinen/gnvim || gnvimAUR
https://github.com/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-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

True color のサポート

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

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

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

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

Neovim には、組み込みの language-server-protocol Language Server Protocol クライアントと nvim-lspconfig プラグインが共通の機能を提供します。

言語サーバーは、次のパッケージを使用してネイティブにインストールできます:

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

ページャとして使用

Neovim をページャとして使用できます。 nvimpagerAUR または nvimpager-gitAUR パッケージをインストールし、PAGER の環境変数を nvimpagerexport します。

トラブルシューティング

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

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

参照