0

マッピングをvimに永続的に保存する方法についてこのスタックスレッドを読みました。ファイルの最初の行にに移動し/etc/vim/vimrcて追加しました。:map ,k :!python % <enter>vimで新しいPythonファイルを開くと、コマンドは:!python % <enter>画面の下部に表示されて応答します。ただし、自動的には実行されません。このコマンドを修正して「enter」を自動的に実行するにはどうすればよいですか?

4

3 に答える 3

2

~/.vimrcファイル内のグローバル設定を編集するよりも、ローカル設定にローカルバージョンを使用したいと思います/etc/vim/vimrc。そこに追加できます:

let maplocalleader=","
map <localleader>k :!python %<cr>

^Mghotiの答えに対するZyXのコメントで説明されているように使用しないことをお勧めします。

編集

ZyXのコメントにより、上記のコードを次のように変更しました

filetype plugin on
augroup ft_python
    au!
    au FileType python nnoremap ,k :!python %<cr>
augroup END

,k他のものを台無しにしない

  • filetype plugin onファイルが特定のファイルタイプ(この場合はpython)を持っている場合は、何かを実行したいということです
  • augroup ft_python自動コマンドのグループが必要だと言います:=「ファイルを開くときに呼び出されるコマンド」そのグループ名
  • au!すべての自動コマンドを削除します
  • au Filetype pythonauタイプpythonのすべてのファイルに対してautocommand=を宣言します
  • augroup ENDグループft_pythonを離れ、一般設定に戻ります

したがって、これにより,k、Pythonで「コンパイル」として機能することが可能になりますが、誤っ,kて別のファイルでc-sourceコードを押しても、何も実行されません(または、,kc-sourceコード用に指示したことはどこかで行われます。 vimrc)。

于 2012-05-26T15:42:24.247 に答える
0

代わりに、リテラルのキャリッジリターン文字を入力します。Ctrl+ Vを押してから、マップを作成するときにEnterキーを押します。

:map ,k :!python %^M

^MCtrl + Vのシーケンスを入力し、Enterキーを押すと、キャリッジリターンが表示されます。

そのCtrl+Vキーは、入力した次の文字を挿入するようにvimに指示します。

于 2012-05-26T15:21:04.103 に答える
0

私が探していた答えは、貼り付けること:map :!python % <enter>です~/.vimrc

于 2012-05-28T10:00:13.767 に答える