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