Vimプラグインのale

4071 ワード

純粋な個人記録のバックアップだけで、もし間違いがあれば、指摘を歓迎して、2018/5/13に更新します
ale(Asynchronous Lint Engine)はシンタックスチェックのプラグインでsyntasticと似ていますが、シンタックスチェックは非同期で実行されるため、カートンはほとんど発生しません.もう1つはaleがデフォルトですべてのチェックツール を使用してチェックすることですが、Vim 8.0以上のバージョンしかサポートされていません.以下のように構成されています.
"ale
" 
let g:ale_sign_column_always = 1
let g:ale_set_highlights = 0
" error warning 
let g:ale_sign_error = '✗'
let g:ale_sign_warning = '⚡'
" vim ale
let g:ale_statusline_format = ['✗ %d', '⚡ %d', '✔ OK']
" Linter , 
let g:ale_echo_msg_error_str = 'E'
let g:ale_echo_msg_warning_str = 'W'
let g:ale_echo_msg_format = '[%linter%] %s [%severity%]'
" ,sp ,sn 
nmap sp (ale_previous_wrap)
nmap sn (ale_next_wrap)
"s / 
nmap s :ALEToggle
"d 
nmap d :ALEDetail

なお、上記のステータスバーの統合は、Vimが持参したステータスバーにのみ統合され、ステータスバーに%{ALEGetStatusLine()}を設定する必要があります.例えば、私のステータスバーが
" 
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}\ %{ALEGetStatusLine()}

airlineを使用すると、airlineのデフォルトでもale関連のsymbolが表示され、errorは「E」、warningは「W」に対応していることがわかります.カスタムerrorとwarningアイコンをairlineに統合するには、~/.vim/plugged/vim-airline/autoload/airline/extensions/ale.vimというファイルを修正する必要があります.vimファイル、次の2つの文を見つけて注釈します
let s:error_symbol = get(g:, 'airline#extensions#ale#error_symbol', 'E:')
let s:warning_symbol = get(g:, 'airline#extensions#ale#warning_symbol', 'W:')

次の2つを追加すればいいです
let s:error_symbol = get(g:, 'airline#extensions#ale#error_symbol', '✗ ')
let s:warning_symbol = get(g:, 'airline#extensions#ale#warning_symbol', '⚡ ')

リアルタイムの文法チェックは、煩わしい場合がありますが、ファイルの保存時にのみLintersを実行したい場合は、以下のように設定できます.
" 
let g:ale_lint_on_text_changed = 'never'
" 
let g:ale_lint_on_enter = 0

また、C/C++に対してclangを使用している場合など、特定の言語のLinterを指定することもできます.
" clang c c++ , python pylint 
let g:ale_linters = {
\   'c++': ['clang'],
\   'c': ['clang'],
\   'python': ['pylint'],
\}

また、Javaに対して中国語のシステムにインストールすると、エラーや警告メッセージが文字化けしてしまいますので、以下の設定が可能です
let g:ale_java_javac_options = '-encoding UTF-8  -J-Duser.language=en'