我設法得到它通過增加cabbr <expr> /
我.vimrc
工作:
" Makes // expand to the containing MyProject directory.
cabbr <expr>/FindMyProjectInPath()
function FindMyProjectInPath()
let path=expand("%:p:h")
while path != "/" && fnamemodify(path,":t") != "MyProject"
let path = fnamemodify(path, ":p:h:h")
endwhile
return path
endfunction
所以,那麼,如果我編輯~/mirror/MyProject/src/lib/module.h
,我可以輸入:e //
,並擴展到:e ~/mirror/MyProject/
。
如果我不在MyProject目錄中,它將保持//
:如果我正在編輯~/other_project/main.cpp
,那麼:e //
將不會展開。
您輸入的第一個/
與cabbr <expr> /
匹配,第二個使其擴大。
你也許也可以使用一個變量來允許在編輯時動態設置「MyProject」。
哇,fugutive.vim非常棒!感謝指針! – NHDaly 2015-09-29 05:57:12