Я знаю, что это может быть более подходящим для Ask Different, но когда я попытался добавить туда теги, не было vim
только тега macvim
. Так что я решил, что здесь у меня может быть получше аудитория.
В Терминале я делаю следующее
$ vim --version
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Jan 31 2010 13:33:49)
Когда я перехожу на http://www.vim.org , я вижу новость
Вышел Vim 7.3!
Как мне обновить встроенный vim? Я бы очень хотел сделать это чисто (то есть без дублирующих установок или каких-либо дополнительных загрузок, без macports и т. Д.)
Я подумывал об использовании Mercurial (поскольку я уже использую его для других целей) в соответствии с инструкциями здесь .
$ hg clone https://vim.googlecode.com.hg/ vim
$ cd vim/src
$ make
Но я думаю, что произведет дублирующую установку. Несмотря на мое «чистое» требование, как упомянуто выше, «нечистые» решения также приветствуются, поскольку, возможно, другого пути действительно нет.
/usr/local/
. Не то чтобы это займет много места.Ответы:
Не перезаписывайте встроенный Vim.
Вместо этого установите его из источника в другом месте или через Homebrew или MacPorts в их расположение по умолчанию, а затем добавьте эту строку в свой .bashrc или .profile:
и / или измените свой
$PATH
так, чтобы он смотрел в свое местоположение раньше, чем в местоположение по умолчанию.На мой взгляд, лучше всего просто загрузить последнюю версию MacVim, которая поставляется с очень полным исполняемым файлом vim, и использовать его в Terminal.app вот так.
источник
/Applications/MacVim.app/Contents/MacOS/Vim
alias vim='mvim -v'
. Но оба они терпят неудачу приsudo vim
использовании старой версии. Я бы предложил использовать ответ @ RobertMartin или диспетчер пакетов. Там также один другой вариант: этот ответ на Slizzered на serverfault.com, который позволяет передавать псевдонимыsudo
.git difftool
илиgit commit
.Если я правильно понимаю, вы хотите установить поверх существующего Vim, к лучшему или худшему :-) Это плохая идея, и это не «чистый» способ сделать это. Зачем? Что ж, OS X ожидает, что ничего не изменится в / usr / bin без его ведома, поэтому каждый раз, когда вы перезаписываете там что-то, вы рискуете нарушить некоторую сложную взаимозависимость. И, допустим, вы что-то сломали - нет никакого способа «исправить» это повреждение. Вам будет грустно и одиноко. Возможно, вам придется переустановить OS X.
Часть 1. Лучшая идея
«Чистый» способ - установить в отдельном месте и сделать новый двоичный файл более приоритетным в $ PATH. Вот как я рекомендую это делать:
Вуаля! Теперь, когда мы будем использовать vim, мы будем использовать новый. Но, чтобы вернуться к нашей старой конфигурации в случае огромного провала, мы можем просто удалить каталог / opt.
Посмотрите, насколько это чисто.
Я рекомендую не устанавливать в / usr / local / bin, если вы хотите переопределить двоичные файлы в / usr / bin, потому что по умолчанию OS X ставит / usr / bin более высокий приоритет в $ PATH, чем / usr / local / bin, и заворачивает с который открывает свою банку с червями .... Итак, это то, что вы ДОЛЖНЫ сделать.
Часть 2: «Правильный» ответ (но плохая идея)
Предполагая, что вы настроены на это, вы определенно на правильном пути. Чтобы установить поверх текущей установки, вам необходимо указать каталог «prefix». Делается это так:
Вы также можете передать "настроить" несколько других параметров, если хотите. Сделайте "./configure --help", чтобы увидеть их. Я надеюсь, что у вас есть резервная копия, прежде чем вы это сделаете, на случай, если что-то пойдет не так ...
источник
~
, то есть вашего домашнего каталога, совершенно произвольно. Не стесняйтесь скачивать его куда хотите. После того, как вы установили его, вы также можете удалить каталог (на этом этапе источник больше не нужен)../configure --prefix /opt/local --enable-perlinterp=yes --enable-pythoninterp=yes --enable-rubyinterp=yes --with-features=huge --with-python-config-dir=/System/Library/Frameworks/Python.framework/Versions/2.7
Как и Эрик, я использовал домашнее пиво, но я использовал рецепт по умолчанию. Так:
И после перезапуска терминала по умолчанию должен быть vim homebrew. Если нет, вам следует обновить свой,
$PATH
так что/usr/local/bin
это было раньше/usr/bin
. Например, добавьте в свой.profile
:источник
brew update
действительно вернул мне формулу для vim.vi
символические[sudo] ln -sf /usr/local/bin/vim /usr/bin/vi
vi
символическую ссылку на/usr/local/bin
:ln -s /usr/local/bin/vim /usr/local/bin/vi
Примечание к ответу romainl: псевдонимы не работают вместе с sudo, потому что на псевдонимах проверяется только первое слово. Чтобы изменить это, добавьте еще один псевдоним к вашему .profile / .bashrc:
alias sudo='sudo '
При этом изменение
sudo vim
будет вести себя как положено!источник
В Yosemite установите vim, используя
brew
иoverride-system-vi
параметр. Это автоматически установит vim с функциями «огромной» установки vim .Вывод этой команды покажет вам, где brew установлен vim. В этой папке зайдите в,
/bin/vim
чтобы запустить vim. Это ваша команда для запуска vim из любой папки:Затем создайте псевдоним этой команды, добавив следующую строку в свой .bashrc:
EDIT: флаг Brew
--override-system-vi
устарел. Заменено на--with-override-system-vi
. Источник: https://github.com/Shougo/neocomplete.vim/issues/401источник
--override-system-vi
устарел. Используйте--with-override-system-vi
insted.brew install vim --override-system-vi
источник
Эта запись в блоге была для меня полезной. Я использовал решение «Homebrew built Vim», которое в моем случае сохранило новую версию в / usr / local / bin. На этом этапе в сообщении предлагалось скрыть системный vim, который у меня не работал, поэтому вместо этого я использовал псевдоним.
источник
vim
похоже, открыл новый vim (после открытия нового терминала)Я только что установил vim:
теперь новый vim доступен,
vim
а старый vim (встроенный vim) -vi
источник