こんにちは、F2キーを押したときにスクリプトを実行するためのVIMマッピングを作成しようとしています。 vimで編集中のファイルをコマンド・ファンクションにフルパスで渡すのは難しいです。Vimコマンドとマッピング
nnoremap <F2> :! php /home/kbuczynski/diff_re.php fix <full file path here> flagArg
こんにちは、F2キーを押したときにスクリプトを実行するためのVIMマッピングを作成しようとしています。 vimで編集中のファイルをコマンド・ファンクションにフルパスで渡すのは難しいです。Vimコマンドとマッピング
nnoremap <F2> :! php /home/kbuczynski/diff_re.php fix <full file path here> flagArg
あなたがして、現在のバッファへのフルパスを取得することができます:
function! CallPHP()
execute '!php /home/kbuczynski/diff_re.php fix '.expand('%:p').' flagArg'
endfunction
nnoremap <F2> :call CallPHP()<CR>
Here:あなたのマッピングは、この(あなたもexecute
機能を使用する必要があります)のようになります
expand('%:p')
ファイルパスを扱う上での良い文書です。
注入する変数が他にない場合は、:execute
とexpand()
は必要ありません。直接%:p
を使用できるはずです。あなたはどこか別のflagArg
を読むために必要がある場合は
nnoremap <F2> :!php /home/kbuczynski/diff_re.php fix %:p flagArg<cr>
、よく、あなたは:execute
が必要になります。
ええ、私はこれが動作している見ることができますが、それはいくつかの理由で(「/ホーム/ file.php」)flagArgスクリプト –
を実行しないようになり を拡大する修正/home/kbuczynski/diff_re.php PHPをこれを行います@ KrzysztofBuczynski、gotcha、私は私の答えを更新しました –
大変ありがとうございました それはちょうど期待どおりに動作します –