Wiem, że może to być bardziej odpowiednie w Ask Different, ale ponieważ próbowałem tam dodawać tagi, nie było vim
tylko tagu macvim
. Pomyślałem więc, że mógłbym tu zdobyć lepszą publiczność.
W terminalu wykonuję następujące czynności
$ vim --version
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Jan 31 2010 13:33:49)
Kiedy przeglądam witrynę http://www.vim.org , widzę wiadomość
Vim 7.3 wydany!
Jak zaktualizować wbudowany vim? Bardzo chciałbym to zrobić czysto (tj. Bez zduplikowanych instalacji, żadnych dodatkowych pobrań, bez macportów itp.)
Rozważałem użycie Mercurial (ponieważ używam go już do innych rzeczy), zgodnie z instrukcjami tutaj .
$ hg clone https://vim.googlecode.com.hg/ vim
$ cd vim/src
$ make
Ale myślę, że spowodowałoby to zduplikowaną instalację. Pomimo mojego „czystego” wymogu, jak wspomniano powyżej, „nieczyste” rozwiązania są również mile widziane, ponieważ może naprawdę nie ma innego wyjścia.
/usr/local/
. Nie, żeby zajmowało dużo miejsca.Odpowiedzi:
Nie nadpisuj wbudowanego Vima.
Zamiast tego zainstaluj go ze źródła w innej lokalizacji lub przez Homebrew lub MacPorts w ich domyślnej lokalizacji, a następnie dodaj tę linię do swojego .bashrc lub .profile:
i / lub zmień swój,
$PATH
aby sprawdzał lokalizację przed domyślną lokalizacją.Moim zdaniem najlepszą rzeczą do zrobienia jest po prostu pobranie najnowszego MacVima, który jest dostarczany z bardzo kompletnym plikiem wykonywalnym Vima i użycie go w Terminal.app w ten sposób.
źródło
/Applications/MacVim.app/Contents/MacOS/Vim
alias vim='mvim -v'
. Ale oba te problemy zawodzą przysudo vim
używaniu starej wersji. Sugerowałbym użycie odpowiedzi @ RobertMartin lub menedżera pakietów. Jest jeszcze jedna opcja: ta odpowiedź autorstwa Slizzered na serverfault.com, która pozwala na przekazywanie aliasów dosudo
.git difftool
lubgit commit
.Jeśli dobrze rozumiem, chcesz zainstalować na swoim istniejącym Vimie, na lepsze lub gorsze :-) To zły pomysł i nie jest to "czysty" sposób na zrobienie tego. Czemu? Cóż, OS X spodziewa się, że nic się nigdy nie zmieni w / usr / bin bez jego wiedzy, więc za każdym razem, gdy nadpisujesz tam rzeczy, ryzykujesz zerwanie skomplikowanej współzależności. Powiedzmy, że coś zepsujesz - nie ma sposobu, aby „cofnąć” to uszkodzenie. Będziesz smutny i samotny. Może być konieczna ponowna instalacja systemu OS X.
Część 1: Lepszy pomysł
"Czystym" sposobem jest instalacja w oddzielnym miejscu i nadanie nowemu plikowi binarnemu wyższego priorytetu w zmiennej $ PATH. Oto, jak polecam to zrobić:
Voila! Teraz, kiedy używamy vima, będziemy używać nowego. Ale aby wrócić do naszej starej konfiguracji w przypadku ogromnych kopii zapasowych f *, możemy po prostu usunąć katalog / opt.
Zobacz, jakie to czyste.
Polecam nie instalować w / usr / local / bin, gdy chcesz przesłonić pliki binarne w / usr / bin, ponieważ domyślnie OS X nadaje / usr / bin wyższy priorytet w $ PATH niż / usr / local / bin i który otwiera swoją własną puszkę robaków… Więc to właśnie POWINIENEŚ zrobić.
Część 2: „Prawidłowa” odpowiedź (ale zły pomysł)
Zakładając, że zamierzasz to zrobić, jesteś na dobrej drodze. Aby zainstalować nad bieżącą instalacją, musisz ustawić katalog „prefix”. Zrobiono to w ten sposób:
Jeśli chcesz, możesz przekazać też kilka innych opcji. Wykonaj „./configure --help”, aby je zobaczyć. Mam jednak nadzieję, że masz kopię zapasową, zanim to zrobisz, na wypadek, gdyby coś poszło nie tak ...
źródło
~
, tj. Katalogu domowego, jest całkowicie dowolne. Możesz go pobrać w dowolne miejsce. Po zainstalowaniu możesz również usunąć katalog (źródło nie jest już potrzebne)../configure --prefix /opt/local --enable-perlinterp=yes --enable-pythoninterp=yes --enable-rubyinterp=yes --with-features=huge --with-python-config-dir=/System/Library/Frameworks/Python.framework/Versions/2.7
Podobnie jak Eric, użyłem homebrew, ale użyłem domyślnego przepisu. Więc:
Po ponownym uruchomieniu terminala vim homebrew powinien być domyślny. Jeśli nie, zaktualizuj swój
$PATH
plik, tak aby/usr/local/bin
był wcześniej/usr/bin
. Na przykład dodaj do swojego.profile
:źródło
brew update
rzeczywiście zwrócił mi formułę na vim.vi
[sudo] ln -sf /usr/local/bin/vim /usr/bin/vi
vi
link symboliczny do/usr/local/bin
:ln -s /usr/local/bin/vim /usr/local/bin/vi
Uwaga do odpowiedzi romainla: aliasy nie działają razem z sudo, ponieważ tylko pierwsze słowo jest sprawdzane na aliasach. Aby to zmienić, dodaj kolejny alias do swojego .profile / .bashrc:
alias sudo='sudo '
Dzięki tej zmianie
sudo vim
będzie zachowywać się zgodnie z oczekiwaniami!źródło
Na Yosemite zainstaluj vim używając
brew
ioverride-system-vi
opcji. Spowoduje to automatyczne zainstalowanie Vima z funkcjami „ogromnej” instalacji vima .Wynik tego polecenia pokaże ci, gdzie brew zainstalował vim. W tym folderze przejdź do,
/bin/vim
aby faktycznie uruchomić vim. To jest twoje polecenie, aby uruchomić vima z dowolnego folderu:Następnie aliasuj to polecenie, dodając następujący wiersz w swoim .bashrc:
EDYCJA: flaga Brew
--override-system-vi
została wycofana. Zmieniony dla--with-override-system-vi
. Źródło: https://github.com/Shougo/neocomplete.vim/issues/401źródło
--override-system-vi
jest teraz przestarzała. Użyj--with-override-system-vi
insted.brew install vim --override-system-vi
źródło
Ten wpis na blogu był dla mnie pomocny. Użyłem rozwiązania "Vim zbudowany przez Homebrew", które w moim przypadku zapisało nową wersję w / usr / local / bin. W tym momencie post sugerował ukrycie systemowego vima, który nie działał dla mnie, więc zamiast tego użyłem aliasu.
źródło
vim
zdawała się otwierać nowy vim (po otwarciu nowego terminala)Właśnie zainstalowałem vim przez:
teraz nowy vim jest dostępny przez,
vim
a stary vim (wbudowany vim) przezvi
źródło