打开.vimrc进行编辑后,逃逸命令不可用

时间:2012-03-19 21:57:10

标签: vim macvim vim-fugitive

我的系统是带有MacVim 7.3(GUI)和Vim 7.2(在iTerm上)的OS X 10.6。

在MacVim上,Fugitive根本不起作用。

在Vim上,它有点不同。我已设置映射以打开.vimrc文件,如下所示:

nmap <silent> <leader>ev :e $MYVIMRC<CR>

在打开vim之后,所有的Fugitive命令都可用,但在使用上面的映射打开.vimrc文件后,我无法发出任何逃犯:G*命令。如果我正常打开.vimrc文件(即使用:e ~/.vimrc),一切都很好。

我的整个.vim目录(根目录中.vimrcvimrc)可以访问here

我该怎么做才能让它发挥作用?

2 个答案:

答案 0 :(得分:10)

只有当有问题的文件是Git存储库的一部分时,才能使用Fugitive的功能。您的.vimrc文件可能不受Git版本控制,或者如果是,您已经通过符号链接路径对其进行了编辑,而Fugitive在撰写本文时并未对其进行编辑。

如果您的.vimrc文件确实受版本控制,您可以通过调用文件的规范路径上的:edit来解决此问题,而不是通过任何符号链接,这将提示Fugitive正确找到.git子目录和其中的元数据。

答案 1 :(得分:3)

如果您的$MYVIMRC是符号链接,请尝试使用此映射。

noremap <leader>ev :execute 'e ' . resolve(expand($MYVIMRC))<CR>

它将打开目标vimrc文件,该文件位于git repo中,因此可以被Fugitive选中。