3
嗨我想做一個VIM映射來運行腳本時,我按F2。 我很難得到正在用vim編輯的文件的完整路徑到命令函數中。Vim命令和映射
nnoremap <F2> :! php /home/kbuczynski/diff_re.php fix <full file path here> flagArg
任何想法?
嗨我想做一個VIM映射來運行腳本時,我按F2。 我很難得到正在用vim編輯的文件的完整路徑到命令函數中。Vim命令和映射
nnoremap <F2> :! php /home/kbuczynski/diff_re.php fix <full file path here> flagArg
任何想法?
你可以得到的完整路徑與當前的緩衝區:
expand('%:p')
你的映射可能看起來像這樣(你還需要使用execute
功能):
function! CallPHP()
execute '!php /home/kbuczynski/diff_re.php fix '.expand('%:p').' flagArg'
endfunction
nnoremap <F2> :call CallPHP()<CR>
Here是處理文件路徑的一些很好的文檔。
如果您沒有其他變量需要注入,則不需要:execute
和expand()
。您應該可以直接使用%:p
。
nnoremap <F2> :!php /home/kbuczynski/diff_re.php fix %:p flagArg<cr>
如果你需要閱讀flagArg
別的地方,好了,那麼你就需要:execute
。
是的,我可以看到這是工作,但它這樣做出於某種原因 PHP /home/kbuczynski/diff_re.php解決擴大(「/家庭/ file.php」)flagArg 這會導致腳本不運行 –
@ KrzysztofBuczynski,gotcha,我更新了我的回答 –
非常感謝 正如預期的那樣工作 –