Vimプラグインのpython-mode
9214 ワード
python-modeこのプラグインはVimにPythonの最適補助型プラグインと書くべきで、文法のハイライト、ドキュメントの閲覧、文法の検査、自動修正の誤りと再構築などの機能を統合して、関連する設定とショートカットキーも非常に豊富で、ここではプロジェクトのドキュメントの中から大部分の実用的な設定を選択して適切に修正しました.詳細については、ドキュメントを読むことをお勧めします.ドキュメントを読むか、ブラウズすることをお勧めします.
以下、上記の設定部分について説明します.
つまり有効になった
python-mode定義のVim移動方式が有効になっています.
オンにすると、次の動作で関数、クラス、メソッドなどに簡単にジャンプできます.
キーを押す
機能
[[
Jump to previous class or function (normal, visual, operator modes)
]]
Jump to next class or function (normal, visual, operator modes)
[M
Jump to previous class or method (normal, visual, operator modes)
]M
Jump to next class or method (normal, visual, operator modes)
aC
Select a class. Ex: vaC, daC, yaC, caC (normal, operator modes)
iC
Select inner class. Ex: viC, diC, yiC, ciC (normal, operator modes)
aM
Select a function or method. Ex: vaM, daM, yaM, caM (normal, operator modes)
iM
Select inner function or method. Ex: viM, diM, yiM, ciM (normal, operator modes)
ここでpython-mode設定のショートカットキーを使用してPythonを実行していないのは、F 9実行Pythonコードを設定にバインドしているからです.具体的には、python-mode設定のpythonコードの実行方法を有効にして上記の設定を変更すれば、元の設定を変更できます.
ここでもpython-mode設定のdebug方式は使用されていません.私はVebuggerdebugを使っています.サポートされている言語が多いので、言語切替には他のdebugモードのショートカットキーを覚える必要はありません.Vebuggerを使わない場合は、以下の設定を変更してpython-modeのdebugを有効にすることができます.
文法はこのブロックをチェックします.aleを使うと、編集時にエラー情報をリアルタイムで表示でき、関連するフラグのヒントもあるので、python-modeの設定をキャンセルしました.python-modeの設定を使用したい場合は、次の設定を変更します.
文法チェックのエンジンサポート
もちろんここでも他の文法チェックエンジンを使って、対応するパッケージをインストールすればいいのですが、特に注意したいのは使用しないことです
"python-mode
"
let g:pymode_warnings = 0
"
let g:pymode_trim_whitespaces = 1
let g:pymode_options = 1
"
let g:pymode_options_colorcolumn = 1
" QuickFix ,
let g:pymode_quickfix_minheight = 3
let g:pymode_quickfix_maxheight = 10
" python3
let g:pymode_python = 'python3'
" PEP8
let g:pymode_indent = 1
"
let g:pymode_folding = 0
" python-mode
let g:pymode_motion = 1
" python-mode python , K
let g:pymode_doc = 1
let g:pymode_doc_bind = 'K'
" virtualenv
let g:pymode_virtualenv = 1
" python-mode python
let g:pymode_run = 0
"let g:pymode_run_bind = 'r'
" python-mode
let g:pymode_breakpoint = 0
"let g:pymode_breakpoint_bind = 'b'
" python
let g:pymode_lint = 1
"
let g:pymode_lint_on_write = 0
"
let g:pymode_lint_on_fly = 0
let g:pymode_lint_checkers = ['pyflakes', 'pep8']
" QuickFix
let g:pymode_lint_cwindow = 0
" python-mode
let g:pymode_lint_signs = 0
"let g:pymode_lint_todo_symbol = 'WW'
"let g:pymode_lint_comment_symbol = 'CC'
"let g:pymode_lint_visual_symbol = 'RR'
"let g:pymode_lint_error_symbol = 'EE'
"let g:pymode_lint_info_symbol = 'II'
"let g:pymode_lint_pyflakes_symbol = 'FF'
"
let g:pymode_rope = 1
" .ropeproject,
let g:pymode_rope_lookup_project = 0
"
let g:pymode_rope_show_doc_bind = 'd'
"
let g:pymode_rope_regenerate_on_write = 1
" ,
let g:pymode_rope_completion = 1
let g:pymode_rope_complete_on_dot = 1
let g:pymode_rope_completion_bind = ''
" g ,
let g:pymode_rope_goto_definition_bind = 'g'
let g:pymode_rope_goto_definition_cmd = 'vnew'
" , ,
let g:pymode_rope_rename_bind = 'rr'
"
let g:pymode_rope_rename_module_bind = 'r1r'
" python
let g:pymode_syntax = 1
let g:pymode_syntax_all = 1
"
let g:pymode_syntax_indent_errors = g:pymode_syntax_all
"
let g:pymode_syntax_space_errors = g:pymode_syntax_all
以下、上記の設定部分について説明します.
let g:pymode_options = 1
つまり有効になった
setlocal complete+=t
setlocal formatoptions-=t
if v:version > 702 && !&relativenumber
setlocal number
endif
setlocal nowrap
setlocal textwidth=79
setlocal commentstring=#%s
setlocal define=^\s*\\(def\\\\|class\\)
python-mode定義のVim移動方式が有効になっています.
" python-mode
let g:pymode_motion = 1
オンにすると、次の動作で関数、クラス、メソッドなどに簡単にジャンプできます.
キーを押す
機能
[[
Jump to previous class or function (normal, visual, operator modes)
]]
Jump to next class or function (normal, visual, operator modes)
[M
Jump to previous class or method (normal, visual, operator modes)
]M
Jump to next class or method (normal, visual, operator modes)
aC
Select a class. Ex: vaC, daC, yaC, caC (normal, operator modes)
iC
Select inner class. Ex: viC, diC, yiC, ciC (normal, operator modes)
aM
Select a function or method. Ex: vaM, daM, yaM, caM (normal, operator modes)
iM
Select inner function or method. Ex: viM, diM, yiM, ciM (normal, operator modes)
ここでpython-mode設定のショートカットキーを使用してPythonを実行していないのは、F 9実行Pythonコードを設定にバインドしているからです.具体的には、python-mode設定のpythonコードの実行方法を有効にして上記の設定を変更すれば、元の設定を変更できます.
" python-mode python
let g:pymode_run = 0
"let g:pymode_run_bind = 'r'
ここでもpython-mode設定のdebug方式は使用されていません.私はVebuggerdebugを使っています.サポートされている言語が多いので、言語切替には他のdebugモードのショートカットキーを覚える必要はありません.Vebuggerを使わない場合は、以下の設定を変更してpython-modeのdebugを有効にすることができます.
" python-mode
let g:pymode_breakpoint = 0
"let g:pymode_breakpoint_bind = 'b'
文法はこのブロックをチェックします.aleを使うと、編集時にエラー情報をリアルタイムで表示でき、関連するフラグのヒントもあるので、python-modeの設定をキャンセルしました.python-modeの設定を使用したい場合は、次の設定を変更します.
" python
let g:pymode_lint = 1
"
let g:pymode_lint_on_write = 0
"
let g:pymode_lint_on_fly = 0
let g:pymode_lint_checkers = ['pyflakes', 'pep8']
" QuickFix
let g:pymode_lint_cwindow = 0
" python-mode
let g:pymode_lint_signs = 0
"let g:pymode_lint_todo_symbol = 'WW'
"let g:pymode_lint_comment_symbol = 'CC'
"let g:pymode_lint_visual_symbol = 'RR'
"let g:pymode_lint_error_symbol = 'EE'
"let g:pymode_lint_info_symbol = 'II'
"let g:pymode_lint_pyflakes_symbol = 'FF'
文法チェックのエンジンサポート
pylint
、pep257
、pep8
、pyflakes
、mccabe
、私がここで使っているのはpyflakes
とpep8
、その中でpyflakesは文法エラーをチェックし、pep 8はコードスタイルをチェックし、これを使うにはまずシステムに相応のパッケージをインストールし、Debianで端末で実行できる$ sudo aptitude install python-flake8 python3-flake8 flake flake8
もちろんここでも他の文法チェックエンジンを使って、対応するパッケージをインストールすればいいのですが、特に注意したいのは使用しないことです
pylint
遅いので.また、エラーが検出されたら入力:PymodeLintAuto
PEP 8規格に従って現在のbufferのエラーが自動的に修正されます.