Como executar o mvim (MacVim) no Terminal?

258

Eu tenho o MacVim instalado e estou tentando configurá-lo como editor do Git (controle de versão), mas não consigo executar o 'mvim' na linha de comando, pois não é reconhecido. Como configuro o mvim para executá-lo no Terminal?

Fred
fonte
3
Tente vimna linha de comando.
pavium
4
Isenção de responsabilidade: isso funcionaria para o Linux, então suponho que seja semelhante em um Mac. Tente ver o caminho (use " echo $PATH") e adicione a pasta ao MacVim executável, se ainda não estiver lá (use " export PATH=$PATH:path/to/folder"). Cuidado com os $sinais, eles são importantes!
Laura

Respostas:

190

Deve haver um script chamado mvim na raiz do arquivo .bz2. Copie isso em algum lugar no seu $ PATH (/ usr / local / bin seria bom) e você deve ser classificado.

Gordon Robertson
fonte
9
Onde você encontra o arquivo bz2?
Jnthnclrk 7/03
2
Um ano atrás, foi o que você conseguiu ao baixar o MacVim. Agora é um arquivo.tbz, mas o script ainda está lá.
Gordon Robertson
5
Você pode localizar o arquivo usando find do seu diretório raiz. sudo find . -name mvimO meu estava em / Applications / MacVim-snapshot-64 / mvim.
precisa saber é
19
Desde mvim é simplesmente um script shell, você pode baixá-lo diretamente da fonte MacVim no GitHub aqui: raw.github.com/b4winckler/macvim/master/src/MacVim/mvim
Brad Parks
3
De acordo com: help mvim eu tive que adicionar /Applications/MacVim.app/Contents/binao meu caminho, então funcionou bem.
Hraynaud 22/09/19
210

Acho que não acrescentaria nada ao caminho, fiz

brew install macvim

mvim -v

deve então abrir o macvim no terminal, você também pode ir em frente e alias que

alias vim='mvim -v'
Swapneel Patil
fonte
38
Qualquer pessoa que esteja lendo isso hoje usando o homebrew, precisará executar brew linkappsapós instalar o macvim.
Aaron Lake
1
A opção '-v' funciona se você instalou da fonte ou do download, como mostrado em outras respostas.
Bryan Head
7
brew linkapps --systemse você quiser na sua pasta / Aplicativos.
Mk12 26/05
Se a execução brew linkappsnão ajudou, também execute brew doctore observe as mensagens de aviso relacionadas ao macvim - pode ser necessário executar, brew link --overwrite macvimse sugerido.
Art
Com esse sinalizador -v, por algum motivo, alterar a fonte não funciona.
Ixx
106

Se você seguir a rota de preparação, a melhor maneira de instalar seria:

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

Isso fornecerá mvim, vim, vi, view etc. em / usr / local / bin (todos vinculados à cópia na adega). Isso também elimina a necessidade de criar aliases e também altera o seu vi, vim etc. para que todos usem a mesma distribuição do Vim que o seu MacVim.

Sean Chou
fonte
Enquanto o --override-system-vimfez criar alguns dos links simbólicos para mim, ele não conseguiu substituir /usr/bin/vime /usr/bin/vientão eu ainda tinha que manualmente aliasestes em minha .profile.
Davetapley
12
Dave, isso parece um problema no PATH, / usr / local / bin precisa ser o primeiro no seu PATH. Esta resposta, apontando para a fermentação, deve ser a resposta número um, pois fornece tudo o que você precisa.
Jason Yanowitz
3
O fyi running brew doctordeve notificá-lo sobre qualquer CAMINHO ou problemas de configuração do brew.
Andrew
Impressionante! Obrigado por postar isso. Eu adicionei --override-system-vim e nem percebi o quão útil seria.
Xer0x 28/03
Isso não funcionou para mim, não tenho certeza se esse argumento ainda funciona?
Ftrotter
43

Além disso, se você deseja usar o MacVim (ou GVim) como $VISUALou $EDITOR, deve estar ciente de que, por padrão, o MacVim bifurcará um novo processo do pai, resultando no valor de retorno do MacVim não atingindo o processo pai. Isso pode confundir outros aplicativos, mas o Git parece verificar o status de um arquivo de mensagem de confirmação temporário, que ignora essa limitação. Em geral, é uma boa prática export VISUAL='mvim -f'garantir que o MacVim não bifurque um novo processo quando chamado, o que deve fornecer o que você deseja ao usá-lo em seu ambiente shell.

hakamadare
fonte
30

Se você já possui o macVim instalado: /Applications/MacVim.app/Contents/MacOS/Vim -g fornecerá a GUI do macVim.

basta adicionar um alias.

eu uso gvimporque é isso que eu uso no linux para o gnome-vim.

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

gcb
fonte
1
Também usando alias vim=/Applications/MacVim.app/Contents/MacOS/Vimé uma ótima idéia. Então você não precisa instalar o MacVim via MacPorts ou Homebrew para atualizar o Vim no seu terminal; basta instalar os pacotes de lançamento na página de lançamento do GitHub.
W0rp
Nota: também é útil se o homebrew se recusar a instalar o macvim porque você permanecerá nesta "versão antiga" do macOS por qualquer motivo. :)
tekHedd
24

Suponha que o MacVim esteja instalado na pasta Aplicativo.

Em vez de adicionar o caminho MacVim ao seu ambiente, crie um link digitando isto no terminal:

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

Em seguida, abra uma nova janela / guia do terminal e digite mvim.

ccerhan
fonte
18

Se você tem o homeBrew instalado, é tudo o que você precisa fazer:

brew install macvim
brew linkapps

Em seguida, digite mvimseu terminal para executar o MacVim.

Muhammad Reda
fonte
Bem, é assim que se faz com uma instalação nova, acho que ele está perguntando como criar um alias quando já está instalado.
JackHasaKeyboard
1
Aviso: brew linkappsfoi descontinuado e, eventualmente, será removido!
Mark
13

Aqui está o que eu fiz:

Depois de criar o Macvim, copiei o mvim para um dos meus destinos $ PATH (nesse caso, escolhi / usr / local / bin)

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

Então, quando você invoca o mvim, agora é reconhecido, mas há uma coisa irritante. Abre a janela visual do MacVim, não a do terminal. Para fazer isso, você precisa invocar

mvim -v

Para garantir que, toda vez que você ligar para o mvim, não tenha que se lembrar de adicionar o '-v', você pode criar um alias:

alias mvim = 'mvim -v'

No entanto, esse alias persistirá apenas para esta sessão do Terminal. Para executar esse alias toda vez que você abre uma janela do Terminal, é necessário incluí-lo no seu .profile O .profile deve estar no seu diretório pessoal. Se não estiver, crie-o.

cd ~
mvim -v .profile

inclua o comando aliás e salve-o.

É isso aí.

Douglas
fonte
Tentei isso, mas não funcionou para mim. VIM_APP_DIR = ~ / Downloads / MacVim-snapshot-64 / MacVim.app $ mvim -v xx Desculpe, não é possível encontrar o MacVim.app. Tente configurar a variável de ambiente VIM_APP_DIR no diretório que contém o MacVim.app.
Michael Durrant
Isso funciona quando você cria o MacVim a partir da fonte, github.com/macvim-dev/macvim/blob/master/README_mac.txt , obrigado @douglas
mbenegas
1
Provavelmente melhor do ln -sque cpisso.
N
1
Com esse -vsinalizador, a alteração da fonte não funciona. -vativa o modo vi. Pode imaginar que outras coisas não funcionam nesse modo, além de definir uma fonte personalizada.
Ixx
11

Estou adicionando o comentário de Bard Park aqui, pois essa foi a verdadeira resposta para mim:

Como o mvim é simplesmente um script de shell, você pode baixá-lo diretamente da fonte MacVim no GitHub aqui: http://raw.github.com/b4winckler/macvim/master/src/MacVim/mvim

OscarRyz
fonte
/ usr / local / bin estava no meu caminho, mas a pasta bin estava ausente. Como tive problemas ao trabalhar diretamente em / usr / local (provavelmente um problema de permissão), criei um diretório bin na minha pasta Documentos. Lá, criei um arquivo mvim, no qual copiei o conteúdo do link do Bard Park. Eu arrastei a pasta bin com o script mvim para / usr / local. Me pediram minha senha e, em seguida, fui autorizado a colocar o script mvim onde eu queria. Mas o script ainda não foi executado. Entrei: sudo chmod 755 mvim para dar permissões de execução ao script. Agora, na linha de comando, quando digito mvim filename, o MacVim é iniciado.
Jerry Geada
Para arrastar a pasta bin para / usr / local, primeiro digitei: open. na linha de comando em / usr / local. Fazer isso exibe a GUI do localizador para esse local do arquivo.
Jerry Geada
8

Eu seriamente recomendo instalar o MacVim via MacPorts ( sudo port install MacVim).

Quando instalado, o MacPorts atualiza automaticamente seu perfil para incluir / opt / local / bin no seu caminho; portanto, quando o mvim é instalado como / opt / local / bin / mvim durante a instalação do MacVim, você o encontra pronto para usar imediatamente .

Quando você instala a porta MacVim, o pacote MacVim.app também é instalado em / Applications / MacPorts.

Uma coisa boa de seguir a rota do MacPorts é que você também poderá instalar o git também ( sudo port install git-core) e muitas outras portas. Altamente recomendado.

ianmjones
fonte
1
Obrigado, vou tentar. Eu instalei o MacVim e o Git usando os instaladores da interface do usuário. Mas parece que o Macports é o caminho a percorrer.
Fred
56
Não use versões da porta mac, a menos que seja absolutamente necessário. Ele instala todas as bibliotecas de dependência, ignorando as nativas do darwin. Isto pode, por exemplo, substituir o seu perl 5.10 por 5.8 no caminho, etc. Verifique o sistema de homebrew (brew).
Slava Nadvorny
3
@SlavaNadvorny talvez seja verdade quando isso foi escrito. Atualmente, tenho um ambiente de desenvolvimento com MacVim, scipy, haskell, várias versões do erlang, python e perl, funcionando corretamente com os macports. O mesmo não era possível com a fermentação (no momento, isso foi escrito). Eu gosto da instalação não-sudo do brew e desejei que funcionasse nesse caso.
O uso do homebrew também funciona muito bem brew install macvim.
21413 Chev
2

Isso funciona para mim:

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

Para .apppacotes configuráveis ​​para Mac , você deve instalá-los via cask, se disponível, pois o uso de links simbólicos pode causar problemas. Você pode até receber o seguinte aviso se brew linkapps:

Infelizmente, brew linkappsnão pode se comportar bem com, por exemplo, o Spotlight, usando aliases ou links simbólicos, e as fórmulas do Homebrew não criam .app pacotes "adequados" que podem ser realocados. Em vez disso, considere usar brew caske migrar fórmulas usando .apps para barris.

Para o MacVim, você pode instalar com:

brew cask install macvim

Você poderá iniciar o MacVim como qualquer outro aplicativo do macOS, incluindo mvimou a open -a MacVimpartir de uma sessão do terminal.

UPDATE : Um pouco de esclarecimento sobre brewe brew cask. Em poucas palavras, brewlida com o software no nível unix, enquanto brew caskestende a funcionalidade brewpara o domínio macOS para obter funcionalidades adicionais, como lidar com o local dos pacotes de aplicativos do macOS. Lembre-se de que brewtambém é implementado no Linux, portanto, faz sentido ter essa divisão. Existem outros recursos que explicam a diferença com mais detalhes, como Qual é a diferença entre brewe brew cask? então não vou dizer muito mais aqui.

Ryan H.
fonte
Poderíamos acrescentar alguma clareza sobre qual a diferença entre usar a instalação do barril e não a instalação do barril? Difícil dizer quais são as diferenças quando ambos barril e não CASK instalar comandos trabalho ...
ftrotter
Adicionei uma breve sinopse, mas não conheço todos os detalhes, para não entrar em detalhes.
Ryan H.