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?
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.
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.
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:
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.
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.
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ź:
/ 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.
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
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.
vim
z wiersza polecenia.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!Odpowiedzi:
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.
źródło
sudo find . -name mvim
Mój był w / Applications / MacVim-snapshot-64 / mvim./Applications/MacVim.app/Contents/bin
do mojej ścieżki, to działało dobrze.Nie sądzę, żebym dodał coś do ścieżki, tak
powinieneś wtedy otworzyć macvim w terminalu, możesz także śmiało i pseudonim
źródło
brew linkapps
po zainstalowaniu Macvima.brew linkapps --system
jeśli chcesz w folderze / Applications.brew linkapps
nie pomogło, uruchom takżebrew doctor
i obserwuj komunikaty ostrzegawcze związane z macvimem - może być konieczne uruchomienie,brew link --overwrite macvim
jeśli jest to sugerowane.Jeśli wybierzesz drogę zaparzania, najlepszym sposobem instalacji będzie:
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.
źródło
--override-system-vim
nie tworzyć niektóre dowiązania dla mnie, to nie udało się zastąpić/usr/bin/vim
, a/usr/bin/vi
więc miałem jeszcze ręczniealias
tych w mojej.profile
.brew doctor
powinien powiadomić cię o wszelkich ŚCIEŻKACH lub problemach z konfiguracją dla naparu.Ponadto, jeśli chcesz używać MacVim (lub GVim) jako
$VISUAL
lub$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ą jestexport 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.źródło
Jeśli masz już zainstalowany macVim:
/Applications/MacVim.app/Contents/MacOS/Vim -g
da ci GUI macVim.po prostu dodaj alias.
używam,
gvim
ponieważ tego właśnie używam w systemie Linux dla gnome-vim.alias gvim='/Applications/MacVim.app/Contents/MacOS/Vim -g'
źródło
alias vim=/Applications/MacVim.app/Contents/MacOS/Vim
to ś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.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
.źródło
Jeśli masz zainstalowany program homeBrew , to wszystko, co musisz zrobić:
Następnie wpisz
mvim
swój terminal, aby uruchomić MacVim.źródło
brew linkapps
zostało wycofane i ostatecznie zostanie usunięte!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)
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ć
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.
dołącz tam polecenie alias i zapisz je.
Otóż to.
źródło
ln -s
niżcp
to.-v
flagą zmiana czcionki nie działa.-v
włącza tryb vi. Wyobrażam sobie, że inne rzeczy nie działają w tym trybie, poza ustawieniem niestandardowej czcionki.Dodam tutaj komentarz Bard Park, ponieważ była to dla mnie prawdziwa odpowiedź:
źródło
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.źródło
brew install macvim
.To działa dla mnie:
źródło
W przypadku
.app
pakietó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ślibrew linkapps
:W systemie MacVim można zainstalować za pomocą:
Powinieneś być w stanie uruchomić MacVim tak, jak robisz każdą inną aplikację macOS, w tym
mvim
lubopen -a MacVim
z sesji terminalowej.AKTUALIZACJA : Trochę wyjaśnień na temat
brew
ibrew cask
. Krótko mówiąc,brew
obsługuje oprogramowanie na poziomie uniksowym, abrew cask
rozszerza funkcjonalnośćbrew
do domeny macOS o dodatkowe funkcje, takie jak obsługa lokalizacji pakietów aplikacji macOS. Pamiętaj, żebrew
jest 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ędzybrew
ibrew cask
? więc nie powiem tutaj więcej.źródło