Найкращий спосіб зробити vim MacVim (консоль, а не mvim) за замовчуванням замість vim Mac OS X?


101

Я встановив MacVim за допомогою homebrew. ( brew install macvim). Якщо я подзвоню mvimз cmd, вона відкриває GUI MacVim.

Я хотів би зробити vimвиклик Vim ( /Users/user/Applications/MacVim.app/Contents/MacOS/Vim) MacVim замість ( /usr/bin/vimvim) системи. Який найкращий спосіб це зробити? Я знаю, що можу зробити, alias vim="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim"але не знаю, чи це найкращий підхід ...

РЕДАКЦІЯ : Хлопці, дякую за всі ваші відповіді, але справді, оскільки я вже використовую homebrew, --override-system-vimце елегантний спосіб досягти того, що мені потрібно.


Яка різниця між консоллю vim MacVim і звичайним vim у терміналі?
hobbes3

2
@ hobbes3, vim, що постачається з osx, не підтримує підтримку рубіну чи пітона. Війм MacVim робить. Що необхідно, якщо ви хочете використовувати плагіни типу Command-T
asgeo1

Vim, що постачається з OS X, також не підтримує диванний буфер обміну.
Танатос

Відповіді:


136

Я вважаю, що це те, що ви шукаєте:

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

Це створить vim, vimdiff та ін., Що посилаються на mvim in / usr / local / bin / vim, і поки / usr / local / bin перебуває до / usr / bin у вашому PATH, ви отримаєте результати шукаєш.

У більш ранніх версіях заварювання вимикач використовувався, --override-system-vimякий був застарілим.


3
Оскільки я сказав, що вже використовую домашню мову, я думаю, що це дійсно найкращий варіант: я не знав, що такий варіант можливий. Дякую!
Хтось досі використовує вас MS-DOS

2
Технічно це прихований дорогоцінний камінь у формулі vim, а не сама домашня мова. :)
kejadlen

Цікаво, а що, якщо я заварюю видалити macvim, це видалить macvim і залишить початковий vim? Або цього теж не буде?
1313

4
Для цього, очевидно, потрібен повний Xcode, встановлений через магазин додатків (а не лише інструменти командного рядка).
ScoBe

3
Це більше не працює, оскільки домашня мова видалила всі параметри формули, що рухаються вперед. discourse.brew.sh/t/…
Fadecomic


17

Ви можете створити псевдонім у своєму ~/.bash_profile, просто додайте цей рядок до цього файлу:

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

Насправді це було б alias vim="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim", оскільки я хочу посилатися на консоль vim MacVim, а не версію gui.
Хтось досі використовує вас MS-DOS

Ах, добре. Виправлено!
Wuffers

Оскільки vim - це інтерактивний додаток, то псевдонім, який перекриває Vim системи, не буде таким шкідливим, я думаю ...
Хтось все ще використовує вас MS-DOS

1
Для мене це було в / Програми. Гарний псевдонім!
користувач72923

4

brew install macvim --override-system-vimзастаріло. Ви повинні використовувати brew install macvim --with-override-system-vimзамість цього.


Більше не працює.
JESii

3

Щоб змінити редактор за замовчуванням системи, додайте наступне у свій .bash_profile

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

Зміна цього повинна дозволяти вам використовувати MacVim для редактора за замовчуванням (навіть для програми, яка автоматично запускає редактор)

EDIT
Для нормального використання в терміналі вам все одно доведеться використовувати 'mvim' для редагування файлу. Якщо ви все ще хочете ввести "vi" на терміналі, я б запропонував також додати псевдонім до .bash_profile.

EDIT 2
Побачивши редагування OP, ви можете додати шлях vim MacVim до системного шляху. Примітка. Я не думаю, що це найкращий спосіб, оскільки це може впливати і на інші системні дзвінки під час здійснення дзвінків у терміналі. Тож якщо ви дійсно хочете, щоб він змінився, коли ви вводите "vim" у командному рядку, тоді використання псевдоніма я вважаю найчистішим та найбезпечнішим .

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

Перевірте свої настройки за допомогою which vimтерміналу.


2
Я не хочу робити mvim за замовчуванням. Я хочу викликати vim ( /Users/user/Applications/MacVim.app/Contents/MacOS/Vim) MacVim, коли я записую vim на термінал замість vim системи ( /usr/bin/vim).
Хтось досі використовує вас MS-DOS

@ Хтось все ще використовує вас MS-DOS: Вибачте за це, неправильно зрозумів ваш намір (робить трохи більше з моменту перегляду вашої редакції).
Адам Льюїс

Гум, але ти дав мені ідею: якщо я посилаюся vimна /usr/local/binі використовую $PATHпідхід, це може спрацювати.
Хтось досі використовує вас MS-DOS

@ Хтось все ще використовує вас MS-DOS: Будьте обережні, посилаючись на каталог, у якому вже є vim ... Можливо, буде важко дізнатися, який саме vim ви отримаєте.
Адам Льюїс

1
:) Моя думка підскочила до найгіршого випадку (місцеві зняті). Ви повинні бути добре з місцевим користувачем.
Адам Льюїс

2

Редагувати: просто встановіть домашню мову (варто клопоту!) Та brew install vim

Моя стара відповідь нижче:


Я не хочу встановлювати xcode тільки для цього, також я не хочу використовувати псевдоніми або метод заварювання (що також вимагає xcode), тому я роблю це:

  1. Я спочатку завантажую MacVim зі сторінки випусків ,
  2. Потім я встановлюю MacVim, перетягуючи його в папку Applications,
  3. Для використання терміналу також є додаток на терміналі в zip, який називається mvim, я встановлюю його, виконавши цю команду:

    sudo mv mvim / usr / local / bin / vim

  4. А потім я переробляю середовище hash -r(або закриваю і знову відкриваю термінал).

  5. Нарешті, коли я біжу vimзі свого терміналу, я бачу оновлений "у консолі".

Я сподіваюся, що це комусь допоможе.


Я використовую домашнє пиво для багатьох речей. Варто клопоту. Встановити XCode, але мати можливість встановити все, що мені потрібно просто зателефонувавши brew install- це чудово.
Хтось досі використовує вас MS-DOS

1

Мої два центи, я запускаю це, коли оновлював мій пітон через homebrew.

brew reinstall vim --HEAD --with-cscope --with-lua --override-system-vim
brew reinstall macvim --HEAD --with-cscope --with-lua --override-system-vim
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.