使用目录映射将编辑缓冲区别名添加到vim

时间:2015-03-05 08:07:16

标签: backbone.js vim vi vim-plugin

我想添加一个VIM编辑缓冲区命令的自定义映射,但是使用默认目录映射。

以下是一个例子:

我有一个名为javascript / backbone的目录。每次我想访问此文件夹中的文件时,我都必须输入整个路径。我想做这样的事情:

:Ebackbone models/xyz.js.coffee

有人能告诉我如何在我的.vimrc中解决这个问题吗?以下是我目前的VIM配置:https://github.com/shikhar-j/.vim

2 个答案:

答案 0 :(得分:0)

在最简单的情况下,那将是:

command! -nargs=1 Ebackbone javascript/backbone/<args>

如果您当前的工作目录可以更改,则可能必须使用:execute和前缀expand('%:p:h')来获取当前文件的路径。

此外,命令完成会很好;您可以通过自定义完成功能(:help :command-complete)和glob()来实现这一目标。

答案 1 :(得分:0)

如果您对插件没有任何帮助,Tim PopeProjectionist plugin可以帮助您实现这一目标。

要使用此插件,请将.projections.json文件添加到项目的根目录中,其中包含:

{
  "models/*.js.coffee": {
    "type": "backbone"
  }
}

这将允许您运行命令Ebackbone并使用tab tab-complete来匹配glob models/*.js.coffee的每个文件。