【发布时间】:2011-09-23 18:26:08
【问题描述】:
我正在开发一些 Firefox 扩展,我正在尝试设置我的 vim 以使用 gf 键打开模块。
包含如下所示: Components.utils.import("resource://grwmodules/EventProvider.jsm", scope);
应该是 modules/EventProvider.jsm
我创建了一个文件来设置环境。这是我目前所拥有的:
function! s:GetModuleName(name)
let l:output = a:name
if(a:name =~ "^resource://grwmodules")
let output = substitute(a:name, "resource://grwmodules", "modules", "")
endif
return l:output
endfunction
function! GetGrwFNName(name)
let l:output = s:GetModuleName(a:name)
return l:output
endfunction
set includeexpr=GetGrwFNName(v:fname)
set isf+=:
set include=Components.utils.import("resource[:/]\+.\+")
添加 isf+=: 行后,:checkpath 命令起作用。但是当我在文件上按 gf 时,vim 会打开一个名为 resource://grwmodules/EventProvider.jsm 的新文件。所以看起来当我按下 gf 时它不会使用 GetGrwFNName 转换名称。
有什么想法吗?
【问题讨论】:
-
'includeexpr'是缓冲区本地的,因此最好将其放在~/.vim/after/jsm.vim中。假设filetype是jsm
标签: path keyboard-shortcuts vim