4

これは、Windows Explorer のコンテキスト メニューからコピーしたパス"C:\Vim Python\getTime.py"です。Derek Wyatt のブログにあるように、Vim Expression Register を使用して、特定の Python スクリプトからの出力をバッファーに挿入しようとしています。

<c-j>d次のコマンドをバインドしてスクリプトの出力を挿入するために、スラッシュと引用符を考えられるすべての組み合わせを試しました。

imap <c-j>d <c-r>=system("C:\Vim Python\getTime.py")<cr>

しかし、次のエラーを挿入しないと機能しないようです。

'C:\Vim' is not recognized as an internal or external command, operable program or batch file.

スペースを含むファイルパスを使用するには、何を変更する必要がありますか?

私が試したことを知りたい場合は、pastebinを見て大笑いしてください。私が行った検索により、いくつか の異なる 場所にたどり着きましたが、どれも問題を解決できなかったか、少なくとも、それらを正しく読んでいませんでした。


私にとって正しい解決策は次のとおりです。

imap <c-j>d <c-r>=system(shellescape('C:\Vim Python\getTime.py'))<cr>

ここでチエルに感謝します

4

1 に答える 1

4

vimのshellescape関数を使用します。特定の情報を取得するには、 vimと入力:help shellescapeしてください。

だからあなたのラインを変更するimap <c-j>d <c-r>=system(shellescape("C:\Vim Python\getTime.py"))<cr>ことは仕事をするべきです。

于 2012-10-02T20:44:11.430 に答える