回答:
Vim のquickrunプラグインをお試しください。このページには、最新バージョンであり、私が使用しているgithubへのリンクが含まれています。
実行するの:!
ではなく、このプラグインを使用する利点は、コマンドからの出力が収集され、分割ウィンドウに表示されることです。
また、デフォルトでは、プラグインはコマンドの実行を要求するとvimインスタンスをハングさせますが、コマンドを非同期に実行するように構成することができます。詳細についてはドキュメントをお読みください。
Pythonインタープリターがコンパイルされたvimを使用します。
この機能を持つpythonファイルをソースします。
def pyterm(filename="", interactive=1):
cmd = "%s %s %s " % (PYTHON, "-i" if interactive else "", filename)
if "DISPLAY" in os.environ:
return run_config(os.environ.get("XTERM"), cmd)
else:
return os.system(cmd)
そして、それをキーボードショートカットにマッピングします。
nmap ;ru :update<CR>:python pyterm(vim.current.buffer.name, 0)<CR>
nmap ;ri :update<CR>:python pyterm(vim.current.buffer.name, 1)<CR>
以前にgvimを使用している場合は実行する正確な端末を、Xを使用していない場合は同じ端末で実行するいくつかの環境変数を設定しました。
次に、通常はPythonバッファーに「; ri」と入力して実行します(通常はテストするため)。
Vimは、現在のファイルでgnu makeを使用してコンパイルするために使用できます-ファイルのMakefileがない場合でも(詳細はこちらを参照してください):
:make %:r
このようにして、vimはコンパイラ()リストからのクイックフィックスエラーフィードバックへのアクセスを提供します:help quickfix
- :cn
次のエラー、:cp
前のエラー、:cw
エラーをリストする新しいウィンドウ。
gnu makeがない場合は、makeprg変数を設定できます(C ++をコンパイルする場合はg ++に変更します)。
:se makeprg=gcc\ -o\ %<\ %
そして、vim makeコマンドを使用して現在のファイルをコンパイルし、vimのエラーのクイックフィックスリストを取得します。
:make
編集:コンパイル済みの実行可能ファイルをvim内から実行する場合も実行できます(「!」が実行され、「%:r」は接尾辞のないファイル名です):
:!./%:r
ソースコードをコンパイルする特定のケースに関して。
また、Pythonをコンパイルできるものがある場合は、makeprg
それに応じて設定します。
:!gcc % && ./a.out