1. ホーム
  2. python

[解決済み] VimでPythonのコードを実行する

2022-07-04 03:25:13

質問

Vimを使ってPythonのコードを書いていますが、コードを実行するたびにVimの中でこのように入力しています。

:w !python

これはイライラするので、Vimの中でPythonのコードを実行するために、より速い方法を探していました。ターミナルからPythonスクリプトを実行するのはどうでしょう? 私はLinuxを使用しています。

どのように解決するのですか?

を追加するのはどうでしょうか? autocmd を追加するのはどうでしょう。 ~/.vimrc -ファイルへのマッピングを作成します。

autocmd FileType python map <buffer> <F9> :w<CR>:exec '!python3' shellescape(@%, 1)<CR>
autocmd FileType python imap <buffer> <F9> <esc>:w<CR>:exec '!python3' shellescape(@%, 1)<CR>

を押すと <F9> で現在のバッファを実行します。 python

説明します。

  • autocmd でVimが自動的に実行するコマンドです。 {event} (ここでは python ファイルを開いた場合)
  • [i]map : へのキーボードショートカットを作成します。 <F9> 挿入/通常モード
  • <buffer> : 複数のバッファ/ファイルを開いている場合:アクティブなものだけを使用する
  • <esc> 挿入モードを終了
  • :w<CR> : ファイルを保存します。
  • ! : シェルで次のコマンドを実行します。 :!ls )
  • % : は、アクティブなバッファのファイル名に置き換えられます。 しかし には空白やその他の悪いものが含まれる可能性がありますので、以下のように書かない方が良いでしょう。 :python % と書かず、使うようにしましょう。
  • shellescape : 特殊文字をエスケープします。また 1 はバックスラッシュで意味します

TL;DR: 1行目は通常モードで動作し、一度 <F9> を押すと、まずファイルを保存して、そのファイルをpythonで実行します。 2行目は同じことをしますが、最初に挿入モードを残します。