Vimプラグインのale
4071 ワード
純粋な個人記録のバックアップだけで、もし間違いがあれば、指摘を歓迎して、2018/5/13に更新します
ale(Asynchronous Lint Engine)はシンタックスチェックのプラグインでsyntasticと似ていますが、シンタックスチェックは非同期で実行されるため、カートンはほとんど発生しません.もう1つはaleがデフォルトですべてのチェックツール
なお、上記のステータスバーの統合は、Vimが持参したステータスバーにのみ統合され、ステータスバーに
airlineを使用すると、airlineのデフォルトでもale関連のsymbolが表示され、errorは「E」、warningは「W」に対応していることがわかります.カスタムerrorとwarningアイコンをairlineに統合するには、
次の2つを追加すればいいです
リアルタイムの文法チェックは、煩わしい場合がありますが、ファイルの保存時にのみLintersを実行したい場合は、以下のように設定できます.
また、C/C++に対してclangを使用している場合など、特定の言語のLinterを指定することもできます.
また、Javaに対して中国語のシステムにインストールすると、エラーや警告メッセージが文字化けしてしまいますので、以下の設定が可能です
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'