包含文件名的领导者映射

时间:2014-02-03 22:18:29

标签: vim

目前我用这个:

nnoremap <leader>c :ConqueTermSplit ruby 

导致:

:ConqueTermSplit ruby 

我要做的是创建一个导致

的领导者密钥
:ConqueTermSplit ruby ex1.rb<cr>

鉴于我正在使用的文件名为ex1.rb

我对如何做到这一点感到有点困惑。

1 个答案:

答案 0 :(得分:6)

如果

  

“我正在使用的文件”

你的意思是你当前缓冲区中的文件,你可以用<expr>创建映射:

nnoremap <expr> <leader>c ':ConqueTermSplit ruby ' . expand("%p:%h"). "\<cr>"

相关帮助文档:

:h <expr>
:h expand(

更安全的解决方案是使用expand(..)方法包装shellescap(),以防该文件的路径有特殊字符。

或保存expand(...)使用%注册表和shellescape()

 nnoremap <expr> <leader>c ':ConqueTermSplit ruby ' . shellescape(@%,1). "\<cr>"