vimで編集中のファイルにautopep8を自動的に適用する方法はありますか? 次のvimrcがあります。
前もって感謝します。
autopep8 を使用する正しい方法は、vim の「formatprg」設定に依存することです。したがって、次の行をvimrcに追加します。
au FileType python setlocal formatprg=autopep8\ -
Pythonで行を選択してヒットするとgq
(再マップしない限りデフォルトのマッピング)。行をフィルタリングしautopep8
、適切にフォーマットされたバージョンを所定の位置に書き込みます。
上記の設定では、vim オブジェクトと vim モーションでも機能するため、gqap
.
ファイル全体を実行するにはgggqG
コマンドの最後のハイフン「-」は、autopep8 が標準入力から行を読み取るようにするために必要です。
autopep8 はpython-modeに含まれています。
:PymodeLintAuto を呼び出すか、マップします:
" Automatically fix PEP8 errors in the current buffer:
noremap <F8> :PymodeLintAuto<CR>
autopep8 を介して現在のファイルを実行するには、次のようなことができるはずです。
:!autopep8 -i expand("%")
すべての python ファイルの書き込み時にこれを自動的に行いたい場合は、これを に追加できますvimrc
。
if has("autocmd")
autocmd BufWritePost *.py !autopep8 -i expand("%")
endif