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