我想添加一个VIM编辑缓冲区命令的自定义映射,但是使用默认目录映射。
以下是一个例子:
我有一个名为javascript / backbone的目录。每次我想访问此文件夹中的文件时,我都必须输入整个路径。我想做这样的事情:
:Ebackbone models/xyz.js.coffee
有人能告诉我如何在我的.vimrc中解决这个问题吗?以下是我目前的VIM配置:https://github.com/shikhar-j/.vim
答案 0 :(得分:0)
在最简单的情况下,那将是:
command! -nargs=1 Ebackbone javascript/backbone/<args>
如果您当前的工作目录可以更改,则可能必须使用:execute
和前缀expand('%:p:h')
来获取当前文件的路径。
此外,命令完成会很好;您可以通过自定义完成功能(:help :command-complete
)和glob()
来实现这一目标。
答案 1 :(得分:0)
如果您对插件没有任何帮助,Tim Pope的Projectionist plugin可以帮助您实现这一目标。
要使用此插件,请将.projections.json
文件添加到项目的根目录中,其中包含:
{
"models/*.js.coffee": {
"type": "backbone"
}
}
这将允许您运行命令Ebackbone
并使用tab tab-complete来匹配glob models/*.js.coffee
的每个文件。