vimrcに疲れてATOMや、Vistual Studio Codeを使ってきたのだけどまた環境をvim(neovim)に戻している。まだvimrc(init.vim)は綺麗なものなのだが必要なものからプラグインを導入中。
構文チェッカ ALE(Asynchronous Lint Engine)
構文チェッカは色々あるのですがこちらが評判が良い(早い、軽い、簡単)みたいでしたので使ってみることにしました。複数のチェッカを同時に動かすことが出来るので色々いれている人には便利かと思います。
設定方法と導入方法
設定は vim + deim では1行記載するだけです。設定ファイルの方では以下のように記載しています。
[[plugins]]
repo = 'w0rp/ale'
hook_add = '''
nmap <silent> <C-k> <Plug>(ale_previous_wrap) "エラー個所への移動
nmap <silent> <C-j> <Plug>(ale_next_wrap)
let g:ale_sign_column_always = 1 "左端のシンボルカラムを表示したままにする
" エラー行に表示するマーク
let g:ale_sign_error = '⨉'
let g:ale_sign_warning = '⚠'
" エラー行にカーソルをあわせた際に表示されるメッセージフォーマット
let g:ale_echo_msg_format = '[%linter%] %s [%severity%]'
" エラー表示の列を常時表示
let g:ale_sign_column_always = 1
" ロケーションリストの代わりにQuickFixを使用する
let g:ale_set_loclist = 0
let g:ale_set_quickfix = 1
" エラーと警告の一覧を見るためにウィンドウを開いておく
let g:ale_open_list = 1
let g:ale_keep_list_window_open = 0 " エラーと警告がなくなっても開いたままにする
'''
設定の仕方はこちらのサイトと上記のプラグインのサイトを参考にしています。
利用した感想
- 動作しているイメージ
- 満足しています。動作も早くて常に動いていても実用的(手持ちのコードの長さ程度であれば全然問題ない)
- プラグインの読み込みは遅延読み込みにしておく方が良いです、そのままだとvim起動時に時間が1,2秒かかります。
- 導入時に何故かtagが重複しているという旨のエラーで正常に導入できなかったので結果として ~/.config/deim/repos/github.com/の下に保管されている aleのコードを git cloneしてしまっています。それよりも deol.nvim がアップデートできずこちらの問題の影響かもしれません。
- 導入が出来ているかを確認するには :ALEEnable などのコマンドが入っているかで判断しています。
- ATOM時代の影響ですっかりマウス操作になれているのでついついQuickfixをマウスでクリックしたくなるのはそのうちに慣れるだろう
- テキスト文章を書く際には textlint を利用していたのですが markdown や ascidocで利用するためには次のリンク先のように指定すればできそうです(まだやってみていません)