11

vimで編集中のファイルにautopep8を自動的に適用する方法はありますか? 次のvimrcがあります。

前もって感謝します。

4

4 に答える 4

24

autopep8 を使用する正しい方法は、vim の「formatprg」設定に依存することです。したがって、次の行をvimrcに追加します。

au FileType python setlocal formatprg=autopep8\ -

Pythonで行を選択してヒットするとgq(再マップしない限りデフォルトのマッピング)。行をフィルタリングしautopep8、適切にフォーマットされたバージョンを所定の位置に書き込みます。

上記の設定では、vim オブジェクトと vim モーションでも機能するため、gqap.

ファイル全体を実行するにはgggqG

コマンドの最後のハイフン「-」は、autopep8 が標準入力から行を読み取るようにするために必要です。

于 2014-05-20T14:33:09.613 に答える
7

autopep8 はpython-modeに含まれています。

:PymodeLintAuto を呼び出すか、マップします:

" Automatically fix PEP8 errors in the current buffer:
noremap <F8> :PymodeLintAuto<CR>
于 2013-03-08T08:38:18.503 に答える
4

autopep8 を介して現在のファイルを実行するには、次のようなことができるはずです。

:!autopep8 -i expand("%")

すべての python ファイルの書き込み時にこれを自動的に行いたい場合は、これを に追加できますvimrc

if has("autocmd")
    autocmd BufWritePost *.py !autopep8 -i expand("%")
endif
于 2013-03-08T08:31:07.677 に答える