Python多言語パックLinterFormatterまとめ多言語パックvim-polyglotは各種ファイルタイプ用のプラグインをまとめたもので、標準で対応していないような新しいプログラミング言語や使い慣れていないファイルタイプを編集するときに便利。対応しているファイルタイプの一覧はこのページで確認可能。'sheerun/vim-polyglot'例えばcsvファイルを開いてみると、vim-polyglotインストール前では、のように通常の表示だが、インストール後では、のように色付き表示になり、:WhatColumnなどのコマンドが使えるようになっている。これはcsvファイルタイプのプラグインとしてcsv.vimがインストールされているからである。このようにさまざまなファイルタイプ用のプラグインがインストールできるが、自分の好みとは合わないものもあるのでその場合は以下のように無効にできる。['csv']Linterソースコードを解析して警告やエラーを表示するLinterプラグインとしては下記が挙げられる。Engine)が人気。'dense-analysis/ale'ALEをインストールしたらまずは:ALEInfoコマンドを実行してみる。Pythonファイルの場合は以下のように利用可能なLinterと有効になっているLinterが確認できる。pylintのようにLinterコマンドの実行に失敗しているので、pipでインストールする(今回はpyenv-virtualenvでneovim3という環境を作成済み)。pylintインストールにPythonファイルを開いてみると警告(--)とエラー(>>)が左端に表示されるようになる。特定のLinterだけを有効にしたい場合はale_lintersで設定し、ale_echo_msg_formatでどのLinterが表示しているかの情報を追加することもできる。文字上のハイライトが気になる場合はale_set_highlightsでオフにできる。C-jで前後の警告、エラーの箇所に移動できるようになる。<Plug>(ale_next_wrap)なお、Linterの結果(警告の数とエラーの数)をlightline.vimのステータスラインに表示することもできる(lightline.vimだと設定が長くなってしまうが、vim-airlineだともっと簡単に連携できる)。}Formatterソースコードを整形してくれるFormatterプラグインとしては下記が挙げられる。Clientなので自動補完や定義ジャンプもできる)。649ALEでソースコードを整形するには:ALEFixコマンドを実行すればよいが、何も設定していない状態だと下記メッセージが表示される。:ALEFixSuggestPythonファイルを開いた状態で:ALEFixSuggestコマンドを実行するとFormatterとして利用できるツールが表示される。window今回はblackを使うので下記コマンドでインストール。blackそしてinit.vimにFormatter(Fixer)の設定を追加する(全ファイルタイプ向けの行末の空白と無駄な空行を削除する設定も追加)。}以下のコードに対して:ALEFixコマンドを実行すると、コードが整形される。ファイル保存時に自動で適用したい場合は下記設定を追加しておけばよい。1まとめ今回の~/.config/nvim/init.vim(ALEのlightline.vim連携の設定は省略)。(1)月別アーカイブAmazonスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。