2012-03-19 1 views
3

Моя система OS X 10.6 с MacVim 7.3 (GUI) и Vim 7.2 (на iTerm).Неотложные команды недоступны после открытия .vimrc для редактирования

На MacVim, Fugitive не работает вообще.

На Vim это немного отличается. Я поставил отображение, чтобы открыть файл .vimrc следующим образом:

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

Сразу после открытия Vim, все Летучие команды доступны, но после открытия файла .vimrc используя отображение выше, я не могу выдать какие-либо из Беглец :G* команд. Если я обычно открываю файл .vimrc (т. Е. С :e ~/.vimrc), все в порядке.

Весь мой .vim dir (с .vimrc как vimrc в корне) можно получить по адресу here.

Что я могу сделать, чтобы это сработало?

+0

Что вы подразумеваете под «On MacVim, Fugitive вообще не работает»? Каковы симптомы? С другой стороны, попробуйте заменить '$ MYVIMRC' на ваше сопоставление' ~/.vimrc' или '~/.vim/vimrc', а также попробуйте сделать вручную': e $ MYVIMRC'. Я подозреваю, что проблема связана с тем, что ваш '~/.vimrc' является символической ссылкой на' ~/.vim/vimrc'. – romainl

+0

@romainl: Извините, «На MacVim, Fugitive не работает вообще». Я имел в виду, что команды Fugitive недоступны с самого начала. Мне даже не нужно выписывать '\ ev', как я делаю для« terminal vim ». Что неудобно, так это то, что у меня установлено семь других плагинов, и они работают нормально, только Fugitive ведет себя именно так. Я исследую символическую ссылку. Thanks – freitass

ответ

10

Функции Fugitive доступны только в том случае, если данный файл является частью репозитория Git. Вполне вероятно, что ваш файл .vimrc не находится под управлением Git, или если это так, вы отредактировали его с помощью символического пути, который Fugitive не обрабатывает на момент написания.

Если файл .vimrc действительно находится под контролем версий, вы можете исправить это, вызывая :edit на каноническом пути к файлу, а не с помощью каких-либо символических ссылок, которые подскажут Беглец правильно найти подкаталог .git и тому метаданные внутри.

+0

Действительно! Я думал, что Fugitive основан на ': pwd', но он основан на текущем файле. Благодаря! – freitass

3

Если ваша $MYVIMRC символическая ссылка, попробуйте это сопоставление.

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

Он будет открыть файл целевой vimrc, который находится в мерзавце репо и, таким образом, может быть подобран Беглецом.