Questão A melhor maneira de tornar o vim do MacVim (console, não mvim) o padrão em vez do vim do Mac OS X?


Eu instalei o MacVim usando o homebrew. (brew install macvim). Se eu ligar mvim a partir de cmd, abre o GUI MacVim.

Eu gostaria de fazer vim chame o Vim do MacVim (/Users/user/Applications/MacVim.app/Contents/MacOS/Vim) em vez do sistema (/usr/bin/vimvim. Qual é a melhor maneira de fazer isso? Eu sei que posso fazer uma alias vim="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim" mas não sei se é a melhor abordagem ...

EDITAR: Gente, obrigado por todas as suas respostas, mas na verdade, já estou usando homebrew, usando o --override-system-vim é a maneira elegante de realizar o que eu preciso.


96


origem


Qual a diferença entre o console MacVim vim e apenas o vim regular no Terminal? - hobbes3
@ hobbes3, o vim que vem com o osx não tem suporte a ruby ​​ou python compilado. O vim de MacVim faz isso. O que é necessário se você quiser usar plugins como o Command-T - asgeo1
O vim que vem com o OS X também não suporta a área de transferência do freakin '. - Thanatos


Respostas:


Eu acredito que isso é o que você está procurando:

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

Isso criará links simbólicos vim, vimdiff, etc. para mvim em / usr / local / bin / vim, e desde que / usr / local / bin seja anterior a / usr / bin em seu PATH, você obterá os resultados ' está procurando.

Versões anteriores de brew usado o interruptor --override-system-vim que foi preterido.


132



Desde que eu disse que eu já estou usando homebrew, acho que esta é realmente a melhor opção: eu não sabia que essa opção era possível. Obrigado! - Somebody still uses you MS-DOS
Tecnicamente, esta é uma jóia escondida na fórmula do vim, ao invés do próprio homebrew. :) - kejadlen
Gostaria de saber, e se eu fizer um brew remove macvim, isso removerá o macvim e deixará o vim original? Ou isso também será ido? - seds
@BenMezger: O Homebrew não toca seus binários originais, ele instala pacotes em seu / usr / local. Então, quando você remove o macvim, você está com o vim original do Mac OSX. - Somebody still uses you MS-DOS
Isso aparentemente precisa do Xcode completo instalado através da loja de aplicativos (e não apenas das ferramentas de linha de comando). - ScoBe


O interruptor da linha de comando do Vi funciona.

alias vim='mvim -v'


20



Melhor resposta aqui. - e_x_p


Você pode criar um alias em seu ~/.bash_profile, apenas adicione esta linha ao arquivo:

alias vim="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim"

17



Na verdade, seria alias vim="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim", desde que eu quero ligar para o console do MacVim vim e não a versão gui. - Somebody still uses you MS-DOS
Ah, tudo bem. Fixo! - Wuffers
Como o vim é uma aplicação interativa, fazer um alias que substitua o Vim do sistema não será tão prejudicial, eu acho ... - Somebody still uses you MS-DOS
Para mim, isso foi em / Applications. Nice alias! - user72923


brew install macvim --override-system-vim está obsoleto. Você deveria usar brew install macvim --with-override-system-vim em vez de.


4





Para alterar o editor padrão do sistema, inclua o seguinte no seu .bash_profile

export EDITOR=/usr/local/Cellar/macvim/<version>/bin/mvim 

Mudar isso deve permitir que você use o MacVim para o editor padrão (mesmo para o aplicativo que autolaunch o editor)

EDITAR
Para uso normal no terminal, você ainda teria que usar 'mvim' para editar um arquivo. Se você ainda quiser digitar 'vi' no terminal, sugiro adicionar o alias ao .bash_profile também.

EDIT 2
Depois de ver a edição do OP, você poderia preceder o caminho do vim do MacVim para o caminho do sistema. Nota eu não acho que este é o melhor maneira porque poderia afetar outras chamadas do sistema, bem como fazer chamadas no terminal. Então, se você realmente quer que ele mude quando você digita 'vim' na linha de comando, então o uso de um alias eu acredito ser o mais limpo e mais seguro coisa para fazer.

PATH="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim:${PATH}"
export PATH

Teste suas configurações usando which vim no terminal.


3



Eu não quero fazer mvim o padrão. Eu quero ligar para o vim do MacVim (/Users/user/Applications/MacVim.app/Contents/MacOS/Vim) quando escrevo o vim no terminal em vez do vim do sistema (/usr/bin/vim). - Somebody still uses you MS-DOS
@Somebody ainda usa você MS-DOS: Desculpe, entendeu mal sua intenção (faz um pouco mais desde agora visualizando sua edição). - Adam Lewis
Hum, mas você me deu uma ideia: se eu symlink vim para /usr/local/bin e usando o $PATH abordagem, pode funcionar. - Somebody still uses you MS-DOS
@Somebody ainda usa o MS-DOS: Seja cuidadoso com o symlinking para um diretório que já tenha o vim nele ... Pode ser difícil saber qual o vim que você obterá. - Adam Lewis
:) Minha mente saltou para o pior caso (local removido). Você deve estar bem com o usuário local. - Adam Lewis


Edit: basta instalar homebrew (vale o incômodo!) E brew install vim

Minha velha resposta está abaixo:


Eu não quero instalar o xcode apenas para isso, também eu não quero usar aliases ou brew método (que também requer xcode) então eu faço isso:

  1. Eu primeiro baixo o MacVim do libera a página,
  2. Então eu instalo o MacVim arrastando-o para a pasta Aplicativos,
  3. Para o uso do terminal, há também um aplicativo terminal no zip, chamado mvim, Eu instalo executando este comando:

    sudo mv mvim / usr / local / bin / vim

  4. E então, repasso o ambiente por hash -r (ou feche e reabra o terminal).

  5. Finalmente, quando corro vim do meu terminal eu vejo o atualizado "no console".

Espero que isso ajude alguém.


2



Eu uso homebrew para muitas coisas. Vale a pena o incômodo. Tendo o XCode instalado, mas sendo capaz de instalar tudo que eu preciso apenas ligando brew install é ótimo. - Somebody still uses you MS-DOS


Meus dois centavos, eu corro isso sempre que atualizei meu python via homebrew.

brew reinstall vim --HEAD --with-cscope --with-lua --override-system-vim
brew reinstall macvim --HEAD --with-cscope --with-lua --override-system-vim

1