題 使MacVim的vim(控制台,而不是mvim)成為默認的最佳方式而不是Mac OS X的vim?


我用自製軟件安裝了MacVim。 (brew install macvim)。如果我打電話 mvim 從 cmd,它打開GUI MacVim。

我想做 vim 打電話給MacVim的Vim(/Users/user/Applications/MacVim.app/Contents/MacOS/Vim而不是系統的(/usr/bin/vim)vim。這是最好的方法嗎?我知道我能做到 alias vim="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim" 但我不知道這是不是最好的方法......

編輯:伙計們,感謝您的所有答案,但事實上,因為我已經在使用了 homebrew, 使用 --override-system-vim 是實現我需要的優雅方式。


97
2017-09-11 02:21


起源


MacVim console vim與終端中的常規vim有什麼區別? - hobbes3
@hobbes3,與osx一起提供的vim沒有編譯的ruby或python支持.MacVim的vim可以。如果你想使用像Command-T這樣的插件,這是必要的 - asgeo1
OS X附帶的vim也不支持freakin'剪貼板。 - Thanatos


答案:


我相信這就是你要找的東西:

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

這將在/ usr / local / bin / vim中為mvim創建vim,vimdiff等符號鏈接,只要/ usr / local / bin在PATH中的/ usr / bin之前,你就會得到結果''尋找。

早期版本的brew使用了這個開關 --override-system-vim 這是被棄用的。


134
2017-09-11 05:45



既然我說我已經在使用自製軟件了,我認為這確實是最好的選擇:我不知道這個選項是可行的。謝謝! - Somebody still uses you MS-DOS
從技術上講,這是vim公式中隱藏的寶石,而不是自製軟件。 :) - kejadlen
我想知道,如果我做一個brew刪除macvim,會刪除macvim並保留原來的vim嗎?或者那也將消失? - seds
@BenMezger:Homebrew不接觸原始二進製文件,它會在/ usr / local安裝軟件包。因此,當您刪除macvim時,您將使用原始Mac OSX的vim。 - Somebody still uses you MS-DOS
這顯然需要通過應用程序商店安裝的完整Xcode(而不僅僅是命令行工具)。 - ScoBe


Vi命令行開關有效。

alias vim='mvim -v'


20
2017-11-15 22:01



最好的答案就在這裡。 - e_x_p


您可以在自己的中創建別名 ~/.bash_profile,只需將此行添加到該文件:

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

17
2017-09-11 02:27



實際上,它會 alias vim="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim"因為我想鏈接到MacVim的控制台vim而不是gui版本。 - Somebody still uses you MS-DOS
啊,好吧。固定! - Wuffers
由於vim是一個交互式應用程序,做一個覆蓋系統Vim的別名不會那麼有害,我猜...... - Somebody still uses you MS-DOS
對我來說這是在/ Applications。好別的! - user72923


brew install macvim --override-system-vim 已棄用。你應該用 brew install macvim --with-override-system-vim 代替。


4
2017-10-22 19:01





要更改系統的默認編輯器,請將以下內容添加到.bash_profile中

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

更改此選項應允許您將MacVim用於默認編輯器(即使是自動啟動編輯器的應用程序)

編輯
對於終端的正常使用,您仍然需要使用'mvim'來編輯文件。如果您仍想在終端上鍵入“vi”,我建議您也將該別名添加到.bash_profile中。

編輯2
在看到OP的編輯後,您可以將MacVim的vim路徑添加到系統路徑中。注意我不認為這是 最好 因為它可以在終端上進行呼叫時影響其他系統調用。因此,如果你真的只是想在命令行輸入'vim'時改變它,那麼使用別名我認為是最乾淨的 最安全 要做的事。

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

使用測試您的設置 which vim 在碼頭。


3
2017-09-11 02:40



我不想讓mvim成為默認值。我想打電話給MacVim的vim(/Users/user/Applications/MacVim.app/Contents/MacOS/Vim)當我在終端上寫下vim而不是系統的vim時(/usr/bin/vim)。 - Somebody still uses you MS-DOS
@Somebody仍然使用你MS-DOS:對此抱歉,誤解了你的意圖(從現在查看你的編輯後做了一點)。 - Adam Lewis
哼,但你給了我一個主意:如果我符號鏈接 vim 至 /usr/local/bin 並使用 $PATH 方法,它可能會奏效。 - Somebody still uses you MS-DOS
@Somebody仍然使用你MS-DOS:小心符號鏈接到已經有vim的目錄...可能很難知道你將獲得哪個vim。 - Adam Lewis
:)我的思緒跳到最壞的情況(本地刪除)。用戶本地你應該沒問題。 - Adam Lewis


編輯:只需安裝自製軟件(值得麻煩!)和 brew install vim

我的回答如下:


我不想為此安裝xcode,我也不想使用別名或brew方法(這也需要xcode)所以我這樣做:

  1. 我首先從中下載MacVim 發布頁面
  2. 然後我通過將MacVim拖到我的Applications文件夾來安裝MacVim,
  3. 對於終端使用,拉鍊中還有一個終端應用程序,稱為 mvim,我通過運行此命令安裝它:

    sudo mv mvim / usr / local / bin / vim

  4. 然後,我重新審視環境 hash -r (或關閉並重新打開終端)。

  5. 最後,當我跑 vim 從我的終端我看到更新的“在控制台”。

我希望這可以幫助別人。


2
2018-01-30 11:40



我用自製軟件很多東西。這值得麻煩。已安裝XCode,但只需通過調用即可安裝我需要的所有內容 brew install 是很棒的。 - Somebody still uses you MS-DOS


我的兩分錢,每當升級我的python時我就會運行它 homebrew

brew reinstall vim --HEAD --with-cscope --with-lua --override-system-vim
brew reinstall macvim --HEAD --with-cscope --with-lua --override-system-vim

1
2018-06-30 22:40