Vim命令和映射

Nas*_*hPL 3 vim

嗨我在按F2时尝试制作VIM映射来运行脚本.我很难为使用vim编辑的文件获取完整路径到命令函数中.

nnoremap <F2> :! php /home/kbuczynski/diff_re.php fix <full file path here> flagArg
Run Code Online (Sandbox Code Playgroud)

任何的想法 ?

Jon*_*ink 5

您可以使用以下命令获取当前缓冲区的完整路径:

expand('%:p')
Run Code Online (Sandbox Code Playgroud)

您的映射可能看起来像这样(您还需要使用该execute函数):

function! CallPHP()
    execute '!php /home/kbuczynski/diff_re.php fix '.expand('%:p').' flagArg'
endfunction
nnoremap <F2> :call CallPHP()<CR>
Run Code Online (Sandbox Code Playgroud)

这里有一些关于处理文件路径的好文档.