mvim
Универсален Отправной (Баш) скрипт для MacVim
. Он работает на основе его собственного имени, например, если его имя начинается с m
или g
будет запускать версию GUI, в противном случае - версию консоли.
Вы можете увидеть это в mvim
источнике:
case "$name" in m*|g*|rm*|rg*) gui=true ;; esac
Любое другое имя запустит консольную версию . Итак, достаточно создать жесткую ссылку с оригиналом mvim
. Например, если ваш mvim
в /usr/local/bin/mvim
то
sudo ln /usr/local/bin/mvim /usr/local/bin/tvim
создаст tvim
и tvim
команда запустит консольную версию MacVim
. Конечно, вы также можете создать ссылку на vim
лайк
sudo ln /usr/local/bin/mvim /usr/local/bin/vim
просто должны убедиться, что /usr/local/bin
это, прежде/usr/bin
в своем контекстуальном $PATH
.
Теперь к вашему вопросу:
Затенение команд с помощью псевдонимов не является лучшей практикой. Во всяком случае, это работает. Так что ваши
alias vim="/usr/local/Cellar/macvim/8.0-119_1/MacVim.app/Contents/MacOS/Vim"
запустит vim MacVim. which
Команда не показывает псевдонимы. Вы можете проверить это самостоятельно, набрав прямо в терминале:
alias bubu=/bin/date
the which bubu
ничего не покажет, но если вы запустите bubu
команду, вы получите дату.
Вы можете проверить, какая команда будет выполняться, используя type
. Например
type bubu #bubu is alias /bin/date
так же
type vim #will show the /usr/local/Cellar/macvim/8.0-119_1/MacVim.app/Contents/MacOS/Vim
Кроме того, вы можете проверять текущие переменные непосредственно из вашего бега vim
, просто используйте :set runtimepath
или :set helpfile
покажет по умолчанию /usr/bin/vim
что-то вроде:
... /usr/share/vim/vimfiles,/usr/share/vim/vim74,/usr/share/vim/vimfiles/after
но для вашего MacVim (в режиме консоли) будет отображаться как:
... /usr/local/Cellar/macvim/8.0-119_1/MacVim.app/Contents/Resources/vim/vimfiles
Итак, наконец:
- Ваш псевдоним, вероятно, работает, просто
which
не показывает его - Вы можете использовать предоставленный
mvim
просто жесткую ссылку на другое имя