Jestem dość nowy w OS X, ale znam Vima z używania go w różnych systemach * nix. Widziałem wiele osób, które zalecają uruchamianie MacVima nad Vimem w terminalu. Czy ktoś może mi powiedzieć, jakie są różnice między MacVimem a zwykłym Vimem?
Jestem dość nowy w OS X, ale znam Vima z używania go w różnych systemach * nix. Widziałem wiele osób, które zalecają uruchamianie MacVima nad Vimem w terminalu. Czy ktoś może mi powiedzieć, jakie są różnice między MacVimem a zwykłym Vimem?
Odpowiedzi:
MacVim to tylko Vim. Wszystko, co robisz w Vimie, będzie działało dokładnie tak samo w MacVimie.
MacVim jest bardziej zintegrowany z całym systemem operacyjnym niż Vim w terminalu, a nawet GVim w systemie Linux, jest zgodny z wieloma konwencjami systemu Mac OS X.
Jeśli pracujesz głównie z aplikacjami GUI ( na przykład YummyFTP + GitX + Charles ), możesz preferować MacVim.
Jeśli pracujesz głównie z aplikacjami CLI (na przykład ssh + svn + tcpdump), możesz preferować vima w terminalu.
Wejście i wyjście z jednej dziedziny (CLI) dla drugiej (GUI) i odwrotnie może być „drogie”.
Używam zarówno MacVima, jak i Vima, w zależności od zadania i kontekstu: jeśli jestem w środowisku CLI, po prostu vim filename
napiszę, a jeśli będę w środowisku GUI, po prostu wywołam Quicksilver i uruchomię MacVima.
Po przejściu z TextMate podoba mi się to, że MacVim obsługuje prawie wszystkie zwykłe skróty, do których przywykli użytkownicy komputerów Mac. Dodałem trochę własnego, naśladującego TextMate, ale ponieważ pracowałem w wielu środowiskach, zmusiłem się do nauki vim. Teraz używam zarówno MacVima, jak i Vima prawie dokładnie w ten sam sposób. Używanie jednego lub drugiego jest dla mnie tylko kwestią kontekstu.
Ponadto, jak powiedział El Isra, domyślny vim (CLI) w OS X jest nieco przestarzały. Możesz zainstalować aktualną wersję za pośrednictwem MacPorts lub możesz zainstalować MacVim i dodać alias do .profile
:
alias vim='/path/to/MacVim.app/Contents/MacOS/Vim'
mieć ten sam vim w MacVim i Terminal.app.
Kolejna różnica polega na tym, że wiele świetnych schematów kolorów działa od razu w MacVimie, ale wygląda okropnie w Terminal.app, który obsługuje tylko 8 kolorów (+ podświetlenia), ale możesz użyć iTerm - który można skonfigurować tak, aby obsługiwał 256 kolorów - zamiast tego terminala.
Więc… zasadniczo moja rada to po prostu korzystać z obu.
EDYCJA: Nie próbowałem, ale najnowsza wersja Terminal.app (w wersji 10.7) powinna obsługiwać 256 kolorów. Nadal pracuję w wersji 10.6.x, więc jeszcze przez jakiś czas będę korzystać z iTerm2.
EDYCJA: Jeszcze lepszym sposobem korzystania z wykonywalnego interfejsu CLI MacVima w powłoce jest przeniesienie mvim
skryptu dołączonego do MacVima gdzieś w twoim systemie $PATH
i użycie tego polecenia:
$ mvim -v
EDYCJA: Tak, Terminal.app obsługuje teraz 256 kolorów. Jeśli więc nie potrzebujesz zaawansowanych funkcji iTerm2, możesz bezpiecznie użyć domyślnego emulatora terminala.
brew install macvim
i gotowy . mxcl.github.com/homebrew
sudo port install macvim
sudo
nigdy nie jest wymagany w homebrew.
Jedyny powód, który sprawił, że warto było przejść na MacVim: Yank korzysta ze schowka systemowego.
W końcu mogę skopiować wklej pomiędzy MacVimem na moim terminalu a resztą moich aplikacji.
*
rejestru w terminalu VIM, aby szarpnąć do schowka systemowego. Który IMO jest lepszy, ponieważ osobiście nie zawsze chcę synchronizować z moim schowkiem systemowym. Tak więc w VIM, na przykład podczas przeciągania linii, użyj, "*yy
aby skopiować do schowka.
+
, na przykład, jeśli chcesz skopiować całą zawartość do schowka:%y+
niestety, z „mvim -v”, ALT plus okna strzałek nadal nie działają. Nie znalazłem żadnego sposobu, aby to włączyć :-(
mvim
polecenie, zainstalowałem MacVima przez HomeBrew, ale nie wiedziałem, że istnieje domyślne polecenie z dowiązaniem symbolicznym. Dzięki!
Chodzi o kluczowe powiązania, które można po prostu uzyskać z konfiguracji .vimrc. Jeśli chodzi o schowek, możesz użyć, :set clipboard unnamed
a szarpnięcie z vima przejdzie do schowka systemowego. W każdym razie, bez względu na to, z którego ostatecznie skorzystasz, sugeruję użycie tej konfiguracji vimrc
, zawiera ona wiele wtyczek i powiązań, które sprawią, że twoje wrażenia będą płynne.