Jak uruchomić mvim (MacVim) z terminala?


258

Mam zainstalowany MacVim i próbuję skonfigurować go jako edytor Git (kontrola wersji), ale nie mogę uruchomić „mvim” z wiersza poleceń, ponieważ nie jest rozpoznawany. Jak skonfigurować mvim, aby móc go uruchomić z terminala?


3
Spróbuj vimz wiersza polecenia.
pavium

4
Oświadczenie: działałoby to w systemie Linux, więc przypuszczam, że na Macu jest podobnie. Spróbuj zobaczyć ścieżkę (użyj „ echo $PATH”) i dodaj folder do pliku wykonywalnego MacVim, jeśli jeszcze go nie ma (użyj „ export PATH=$PATH:path/to/folder”). Uważaj na $znaki, są ważne!
laura

Odpowiedzi:


190

W katalogu głównym pliku .bz2 powinien znajdować się skrypt o nazwie mvim. Skopiuj go gdzieś do $ PATH (/ usr / local / bin byłby dobry) i powinieneś zostać posortowany.


9
Gdzie znajdujesz plik BZ2?
jnthnclrk

2
Rok temu to właśnie dostałeś po pobraniu MacVima. Teraz jest to plik a.tbz, ale skrypt nadal tam jest.
Gordon Robertson,

5
Możesz zlokalizować plik, używając find z katalogu głównego. sudo find . -name mvimMój był w / Applications / MacVim-snapshot-64 / mvim.
tltjr

19
Ponieważ mvim jest po prostu skryptem powłoki, możesz pobrać go bezpośrednio ze źródła MacVim na GitHub tutaj: raw.github.com/b4winckler/macvim/master/src/MacVim/mvim
Brad Parks

3
Zgodnie z: pomóż mvim musiałem dodać /Applications/MacVim.app/Contents/bindo mojej ścieżki, to działało dobrze.
hraynaud

210

Nie sądzę, żebym dodał coś do ścieżki, tak

brew install macvim

mvim -v

powinieneś wtedy otworzyć macvim w terminalu, możesz także śmiało i pseudonim

alias vim='mvim -v'

38
Każdy, kto czyta to dzisiaj za pomocą homebrew, będzie musiał uruchomić brew linkappspo zainstalowaniu Macvima.
Aaron Lake

1
Opcja „-v” działa, jeśli instalujesz ze źródła lub z pliku do pobrania, a także pokazuje inne odpowiedzi.
Bryan Head

7
brew linkapps --systemjeśli chcesz w folderze / Applications.
mk12

Jeśli uruchomienie brew linkappsnie pomogło, uruchom także brew doctori obserwuj komunikaty ostrzegawcze związane z macvimem - może być konieczne uruchomienie, brew link --overwrite macvimjeśli jest to sugerowane.
Art.

Z tą flagą -v z jakiegoś powodu zmiana czcionki nie działa.
Ixx

106

Jeśli wybierzesz drogę zaparzania, najlepszym sposobem instalacji będzie:

brew install macvim --with-override-system-vim

Zapewni to mvim, vim, vi, view itp. W / usr / local / bin (wszystkie dowiązane symbolicznie do kopii w piwnicy). Eliminuje to również potrzebę tworzenia jakichkolwiek aliasów, a także zmienia vi, vim itp., Aby wszystkie korzystały z tej samej dystrybucji Vim co MacVim.


Podczas gdy --override-system-vimnie tworzyć niektóre dowiązania dla mnie, to nie udało się zastąpić /usr/bin/vim, a /usr/bin/viwięc miałem jeszcze ręcznie aliastych w mojej .profile.
davetapley

12
Dave, to brzmi jak problem z PATH, / usr / local / bin musi być pierwszy w twojej PATH. Ta odpowiedź, wskazująca na napar, powinna być odpowiedzią numer jeden, ponieważ zapewnia ci wszystko, czego potrzebujesz.
Jason Yanowitz

3
fyi running brew doctorpowinien powiadomić cię o wszelkich ŚCIEŻKACH lub problemach z konfiguracją dla naparu.
Andrew

Niesamowite! Dzięki za opublikowanie tego. Dodałem --override-system-vim i nawet nie zdawałem sobie sprawy z tego, jak użyteczne byłoby.
xer0x

To nie działało dla mnie, nie jestem pewien, czy ten argument nadal działa?
ftrotter,

43

Ponadto, jeśli chcesz używać MacVim (lub GVim) jako $VISUALlub $EDITOR, powinieneś być świadom, że domyślnie MacVim rozwidli nowy proces od rodzica, w wyniku czego wartość zwracana MacVim nie dociera do procesu nadrzędnego. Może to mylić inne aplikacje, ale wydaje się, że Git sprawdza status pliku komunikatu tymczasowego zatwierdzenia, który omija to ograniczenie. Zasadniczo dobrą praktyką jest export VISUAL='mvim -f'upewnienie się, że MacVim nie rozwinie nowego procesu po wywołaniu, co powinno dać ci to, czego chcesz, gdy używasz go w środowisku powłoki.


30

Jeśli masz już zainstalowany macVim: /Applications/MacVim.app/Contents/MacOS/Vim -gda ci GUI macVim.

po prostu dodaj alias.

używam, gvimponieważ tego właśnie używam w systemie Linux dla gnome-vim.

alias gvim='/Applications/MacVim.app/Contents/MacOS/Vim -g'


1
Również używanie alias vim=/Applications/MacVim.app/Contents/MacOS/Vimto świetny pomysł. Następnie nie musisz instalować MacVima za pośrednictwem MacPorts lub Homebrew, aby zaktualizować Vima w swoim terminalu, możesz po prostu zainstalować pakiety wydania ze strony wydania GitHub.
w0rp

Uwaga: przydatne również, jeśli homebrew odmawia instalacji macvima, ponieważ z jakiegoś powodu pozostajesz na „tej starej wersji” macOS. :)
tekHedd

24

Załóżmy, że MacVim jest zainstalowany w folderze aplikacji.

Zamiast dodawać ścieżkę MacVim do swojego środowiska, utwórz link, wpisując to w terminalu:

sudo ln -s /Applications/MacVim.app/Contents/bin/mvim /usr/local/bin/mvim

Następnie otwórz nowe okno / kartę terminala i wpisz mvim.


18

Jeśli masz zainstalowany program homeBrew , to wszystko, co musisz zrobić:

brew install macvim
brew linkapps

Następnie wpisz mvimswój terminal, aby uruchomić MacVim.


Cóż, jak to zrobić przy nowej instalacji, myślę, że pyta, jak zrobić alias, gdy jest już zainstalowany.
JackHasaKeyboard

1
Ostrzeżenie: brew linkappszostało wycofane i ostatecznie zostanie usunięte!
Mark

13

Oto co zrobiłem:

Po zbudowaniu Macvima skopiowałem mvim do jednego z moich miejsc docelowych $ PATH (W tym przypadku wybrałem / usr / local / bin)

cp -v [MacVim_source_folder]/src/MacVim/mvim /usr/local/bin

Następnie, kiedy wywołujesz mvim, jest to rozpoznawane, ale jest irytująca rzecz. Otwiera wizualne okno MacVima, a nie okno w terminalu. Aby to zrobić, musisz wywołać

mvim -v

Aby mieć pewność, że za każdym razem, gdy wywołujesz mvim, nie musisz pamiętać o dodaniu „-v”, możesz utworzyć alias:

alias mvim = 'mvim -v'

Jednak ten alias będzie trwał tylko dla tej sesji terminala. Aby ten alias był wykonywany za każdym razem, gdy otwierasz okno terminalu, musisz dołączyć go do swojego .profile .profile powinien znajdować się w twoim katalogu domowym. Jeśli nie, utwórz go.

cd ~
mvim -v .profile

dołącz tam polecenie alias i zapisz je.

Otóż ​​to.


Próbowałem tego, ale to nie działało dla mnie. VIM_APP_DIR = ~ / Downloads / MacVim-snapshot-64 / MacVim.app $ mvim -v xx Przepraszamy, nie mogę znaleźć MacVim.app. Spróbuj ustawić zmienną środowiskową VIM_APP_DIR na katalog zawierający MacVim.app.
Michael Durrant

Działa to, gdy budujesz MacVima ze źródła, github.com/macvim-dev/macvim/blob/master/README_mac.txt , dzięki @douglas
mbenegas

1
Prawdopodobnie lepiej ln -sniż cpto.
nnutter

1
Z tą -vflagą zmiana czcionki nie działa. -vwłącza tryb vi. Wyobrażam sobie, że inne rzeczy nie działają w tym trybie, poza ustawieniem niestandardowej czcionki.
Ixx

11

Dodam tutaj komentarz Bard Park, ponieważ była to dla mnie prawdziwa odpowiedź:

Ponieważ mvim jest po prostu skryptem powłoki, możesz pobrać go bezpośrednio ze źródła MacVim na GitHub tutaj: http://raw.github.com/b4winckler/macvim/master/src/MacVim/mvim


/ usr / local / bin był w mojej ŚCIEŻCE, ale folder bin był nieobecny. Miałem problemy z bezpośrednią pracą w / usr / local (prawdopodobnie problem z uprawnieniami), więc utworzyłem katalog bin w moim folderze Dokumenty. Tam stworzyłem plik mvim, do którego skopiowałem zawartość linku Bard Park. Przeciągnąłem folder bin ze skryptem mvim do / usr / local. Poproszono mnie o hasło, a następnie pozwolono mi umieścić skrypt mvim tam, gdzie chciałem. Ale skrypt jeszcze się nie uruchomił. Wpisałem: sudo chmod 755 mvim, aby dać skryptowi uprawnienia do wykonywania. Teraz z wiersza poleceń, gdy piszę nazwę pliku mvim, uruchamia się MacVim.
Jerry Frost

Aby przeciągnąć folder bin do / usr / local, najpierw wpisałem: otwórz. z wiersza poleceń w / usr / local. Spowoduje to wyświetlenie GUI wyszukiwarki dla tej lokalizacji pliku.
Jerry Frost,

8

Naprawdę polecam instalację MacVima za pośrednictwem MacPorts ( sudo port install MacVim).

Po zainstalowaniu MacPorts automatycznie aktualizuje twój profil, tak aby zawierał / opt / local / bin na twojej ścieżce, więc kiedy mvim zostanie zainstalowany jako / opt / local / bin / mvim podczas instalacji MacVim, od razu zauważysz, że jest on gotowy do użycia .

Po zainstalowaniu portu MacVim pakiet MacVim.app jest również instalowany w / Applications / MacPorts.

Dobrą rzeczą w wyborze trasy MacPorts jest to, że będziesz mógł także zainstalować git ( sudo port install git-core) i wiele innych portów. Wysoce rekomendowane.


1
Dzięki, spróbuję. Zainstalowałem MacVim i Git przy użyciu instalatorów interfejsu użytkownika. Ale to wygląda jak Macports.
Fred

56
Nie używaj wersji portu Mac, chyba że jest to absolutnie konieczne. Instaluje wszystkie biblioteki zależności, ignorując rodzime biblioteki darwin. Może to np. Zastąpić twój perl 5.10 z 5.8 na ścieżce itp. Zamiast tego sprawdź system homebrew.
Slava Nadvorny

3
@SlavaNadvorny może prawda, kiedy to zostało napisane. Obecnie mam środowisko programistyczne z MacVim, scipy, haskell, wieloma wersjami erlang, python i perl, wszystkie działające poprawnie z macports. To samo nie było możliwe w przypadku naparu (w tym czasie zostało to napisane). Podoba mi się instalacja sudo bez sudo i żałuję, że nie zadziała w tym przypadku.

Korzystanie z homebrew również działa świetnie brew install macvim.
Chev

2

To działa dla mnie:

λ brew link --overwrite macvim
Linking /usr/local/Cellar/macvim/8.0-146_1... 12 symlinks created

2

W przypadku .apppakietów Mac należy zainstalować je za pomocą beczki, jeśli jest dostępna, ponieważ używanie dowiązań symbolicznych może powodować problemy. Możesz nawet otrzymać następujące ostrzeżenie, jeśli brew linkapps:

Niestety brew linkappsnie może zachowywać się ładnie w przypadku np. Spotlight przy użyciu aliasów lub dowiązań symbolicznych, a formuły Homebrew nie budują „odpowiednich” .app pakietów, które można przenieść. Zamiast tego rozważ użycie brew caski migrację formuł za pomocą .apps do beczek.

W systemie MacVim można zainstalować za pomocą:

brew cask install macvim

Powinieneś być w stanie uruchomić MacVim tak, jak robisz każdą inną aplikację macOS, w tym mvimlub open -a MacVimz sesji terminalowej.

AKTUALIZACJA : Trochę wyjaśnień na temat brewi brew cask. Krótko mówiąc, brewobsługuje oprogramowanie na poziomie uniksowym, a brew caskrozszerza funkcjonalność brewdo domeny macOS o dodatkowe funkcje, takie jak obsługa lokalizacji pakietów aplikacji macOS. Pamiętaj, że brewjest on również zaimplementowany w systemie Linux, więc warto mieć ten podział. Istnieją inne zasoby, które wyjaśniają różnicę bardziej szczegółowo, takie jak Jaka jest różnica między brewi brew cask? więc nie powiem tutaj więcej.


Czy moglibyśmy dodać trochę jasności na temat różnicy między używaniem instalacji cask a instalacją inną niż cask? Trudno powiedzieć, jakie są różnice, gdy działają zarówno polecenia cask, jak i nie cask install ...
ftrotter

Dodałem krótki napis, ale nie znam wszystkich szczegółów, więc nie wdałem się w szczegóły.
Ryan H.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.