3

以下を .vimrc ファイルに追加しました。

nnoremap <silent> <F5>!python %

F5 キーを押すと、現在のファイルが Python で実行されるはずです。代わりに、次のエラーが発生します。

Trackback (most recent call last):
  File "<string>", line 1, in <module>
  File "<string>", line 349, in f_with_update
  File "<string>", line 358, in run_this file
NameError: global name 'send' is not defined
Press Enter or type command to continue

VIM を実行するたびに F5 を手動で再マッピングすると、次のコマンドが機能します。

:map <silent> <F5>!python %

F5 に何かをマッピングした覚えはありません。私の .vimrc ファイルにはマッパーが含まれていません。何が起こっているのか分かりますか?

4

2 に答える 2

6
nnoremap <silent> <F5>!python %

にマップ<F5>!python%ます。あなたが欲しいのはこれです:

nnoremap <silent> <F5> :!python %<CR>

:通常の cmd-line コマンドを使用する場合は、通常のマップが必要であり<CR>、コマンドを実行するためにそれを終了する必要があります。右側にあるものはすべて、そうでなければ自分で入力するキーであると考えてください。

Python に関するこの vim wiki ページが役立つ場合があります。

于 2012-09-21T04:11:05.777 に答える
1

<F5>おそらく別の場所にマッピングされています。どこにあるか見てみ:verbose nmap <F5>てください。

于 2012-09-21T05:36:45.837 に答える