2010-04-02 7 views
5

Używam Subversion do sprawdzania pliku na OSX. Mam zmienna EDITOR skonfigurowany do MacVimSubversion z MacVim skonfigurowanym jako edytor

My .profile obejmuje:

export EDITOR=/Applications/MacVim/mvim 

Kiedy meldowanie z opcją -m (svn ci somefile) MacVim zostanie uruchomiona, ale potem Subversion natychmiast wyświetla:

Log message unchanged or not specified 
(a)bort, (c)ontinue, (e)dit: 

Wyświetla to, zanim otrzymam szansę na zapisanie mojego logu w MacVim.

Czy istnieje sposób, aby SVN użył MacVim jako edytora wiadomości?

Odpowiedz

11

Musisz uruchomić mvim z flagą -f, aby pozostała na pierwszym planie. Domyślnie przesyła i przekazuje kontrolę do terminala, który sprawia, że ​​subversion myśli, że to jest zrobione.

0

Zobacz open --help:

-w, --wait-apps Bloki aż używane aplikacje są zamknięte (nawet jeśli zostały one już uruchomiony).

export EDITOR="open --wait -a /Applications/MacVim/mvim" 

Jeśli powyższe nie działa, być może trzeba go umieścić w skrypcie i dokonać $ EDITOR podkreślić, że scenariusz. [EDIT: nie działa, patrz komentarz poniżej.]

+1

otwarty będzie pracować dla 'MacVim.app' aplikacji pakietu. 'mvim' jest narzędziem wiersza poleceń, wymagającym opisanej powyżej flagi' -f'. –

4

Jabłko Terminal:

export EDITOR='mvim -f -c "au VimLeave * !open -a Terminal"' 

lub iTerm lub iTerm2:

export EDITOR='mvim -f -c "au VimLeave * !open -a iTerm"' 

Od "Faq - macvim - GitHub: Jak mogę wykorzystać MacVim edytować git commit wiadomości?". Potwierdziłem, że działa również z Subversion.

0

Używam textmate jako mojego edytora svn i miałem ten sam problem co ty. Ale moim rozwiązaniem jest ustawienie tekstowego, aby poczekał, aż plik zostanie zamknięty.

Dodałem w moim bash_profile

export SVN_EDITOR="mate -w" 

-w jest dla poczekać