Configurando o alias para usar o Macvim no terminal em vez do padrão Vim

1

Eu quero usar o aplicativo de console MacVim em vez de um vim padrão. Para conseguir isso, tento definir o alias:

alias vim="/usr/local/Cellar/macvim/8.0-119_1/MacVim.app/Contents/MacOS/Vim" Mas por algumas razões o comando alias não funciona e cada vez que eu executo which vim ele não muda e sempre mostra '/usr/local/bin/vim' como caminho. Qual é o problema?

Instalando o Macvim por %código% não funciona para mim, pois também requer a instalação da versão GUI do XCode que é muito pesada (~ 5Gb)

    
por Alex Smirnov 15.03.2017 / 23:26

1 resposta

1

O mvim é o script de início universal (bash) para o MacVim . Ele funciona com base em seu próprio nome, por exemplo, se o nome começar com m ou g iniciará a versão da GUI, caso contrário, a versão do console.

Você pode ver isso na mvim source:

case "$name" in m*|g*|rm*|rg*) gui=true ;; esac

Qualquer outro nome iniciará a versão do console . Portanto, basta criar um link físico com o% original mvim . Por exemplo, se o seu mvim estiver no /usr/local/bin/mvim , então

sudo ln /usr/local/bin/mvim /usr/local/bin/tvim

criará o comando tvim e o tvim iniciará a versão do console do MacVim . Claro, você também pode criar o link para vim like

sudo ln /usr/local/bin/mvim /usr/local/bin/vim

apenas deve garantir que /usr/local/bin seja antes de /usr/bin no seu $PATH .

Agora, a sua pergunta:

O sombreamento de comandos com aliases não é a melhor prática. De qualquer forma, funciona. Então, seu

alias vim="/usr/local/Cellar/macvim/8.0-119_1/MacVim.app/Contents/MacOS/Vim"

irá iniciar o vim do MacVim. O comando which não mostra aliases. Você pode testar você mesmo, digite diretamente no terminal:

alias bubu=/bin/date

o which bubu não mostrará nada, mas se você executar o comando bubu , receberá a data.

Você pode verificar qual comando será executado usando o type . Por exemplo,

type bubu
#bubu is alias /bin/date

similarmente

type vim
#will show the /usr/local/Cellar/macvim/8.0-119_1/MacVim.app/Contents/MacOS/Vim

Além disso, você pode verificar as variáveis atuais diretamente de sua execução vim , basta usar o :set runtimepath ou :set helpfile será exibido para o padrão /usr/bin/vim algo como:

... /usr/share/vim/vimfiles,/usr/share/vim/vim74,/usr/share/vim/vimfiles/after

mas para o seu MacVim (no modo de console) mostrará como:

... /usr/local/Cellar/macvim/8.0-119_1/MacVim.app/Contents/Resources/vim/vimfiles

Então, finalmente:

  • seu alias provavelmente funciona, apenas o which não mostra
  • você pode usar o mvim fornecido apenas para vinculá-lo a outro nome
por 16.03.2017 / 20:49