/ usr / bin / vimに置き換え - エラーメッセージが表示されるようになりました


7

シンボリックリンクを作成して、Mac OS Xのデフォルトのvimインストール(vim 7.2)からMacVimで使用されるもの(vim 7.3)にアップグレードしようとしました。

ln -s /Applications/MacVim.app/Contents/MacOS/Vim /usr/bin/vim 

しかし、今、私は次のエラーメッセージが表示されます。

sk@supernova:~/ > /usr/bin/vim
E254: Cannot allocate color Red
E254: Cannot allocate color White
E254: Cannot allocate color Blue
E254: Cannot allocate color Red
E254: Cannot allocate color Grey
E254: Cannot allocate color Blue
E254: Cannot allocate color Brown
E254: Cannot allocate color SeaGreen
E254: Cannot allocate color SeaGreen
E254: Cannot allocate color Yellow
E254: Cannot allocate color Red
E254: Cannot allocate color Blue
E254: Cannot allocate color Magenta
E254: Cannot allocate color DarkCyan
E254: Cannot allocate color LightMagenta
E254: Cannot allocate color Grey
E254: Cannot allocate color Blue
E254: Cannot allocate color Magenta
E254: Cannot allocate color Red
E254: Cannot allocate color Yellow
E254: Cannot allocate color Black
E254: Cannot allocate color LightGrey
E254: Cannot allocate color DarkBlue
E254: Cannot allocate color Grey
E254: Cannot allocate color DarkBlue
E254: Cannot allocate color Grey
E254: Cannot allocate color DarkBlue
E254: Cannot allocate color LightGrey
E254: Cannot allocate color LightBlue
E254: Cannot allocate color LightMagenta
E254: Cannot allocate color Blue
E254: Cannot allocate color LightCyan
E254: Cannot allocate color LightGrey
E254: Cannot allocate color Grey90
E254: Cannot allocate color Grey90
E254: Cannot allocate color LightRed
E254: Cannot allocate color DarkGrey
E254: Cannot allocate color LightGrey
E254: Cannot allocate color Cyan
Error detected while processing /Users/sk/.vimrc:
line    1:
E185: Cannot find color scheme desert
Press ENTER or type command to continue

誰もがこれを修正する方法を知っていますか?走れば vim または /Applications/MacVim.app/Contents/MacOS/Vim 直接エラーメッセージは表示されません。その場合に限り /usr/local/bin/vim 呼ばれる直接または別のコマンドラインアプリケーションを介して。


誰かが私が単にエイリアスを作成した可能性があるとコメントした場合、私は実際に以前にそれをした

alias vim=/Applications/MacVim.app/Contents/MacOS/vim

しかし、他のいくつかのコマンドラインツールはまだ使用していました /usr/bin/vim


実際にはどのfg色が利用可能かの完全なリストはハードコードされています。 github.com/b4winckler/macvim/blob/master/src/…
Nick

回答:


11

これは既知の問題です。から :help MacVim

Note: Starting MacVim by creating a symlink to >
    .../MacVim.app/Contents/MacOS/Vim with 'ln -s' does not work.

私はシンボリックリンクを使用することからE254エラーの文字列を得る多くの人々を見つけました。見る このチケット MacVim issue repositoryにあります。解決策は次のとおりです。

    Most likely this is because you have symlinked directly to
    the Vim binary, which Cocoa does not allow.  Please use an
    alias or the mvim shell script instead.

MacVimにはスタートアップシェルスクリプトが付属しています。 mvim。あなたはそれをエイリアスすることができます vim system vimの代わりにそれを使いたいのならば。 GUIアプリケーションではなく端末でvimを起動したい場合は、エイリアスを mvim -v。追加する export EDITOR=vim あなたに ~/.bash_profile すべての端末アプリケーションが現在エイリアス化されているvimを使用していることを確認するため。これはあなたのすべての拠点をカバーするはずです。


4

/ usr / bin内の何かを変更することは、Appleが再びそれを上書きする可能性があるので、物事に取り組むための最善の方法ではありません。

エラーはおそらく@karmaticが言っているとおりですが、おそらくここでするための最善の方法は/ usr / local / binにシンボリックリンクを置き、あなたのシェルが/ usr / binより前のパスにそれを持つようにすることです。

私が知っている限りでは、コマンドラインツールが直接/ usr / bin / viを使用することはありません(私はemacsを使用しますので、viを使用する必要があります)。


3

担当者はまだいませんのでmichaelmichaelの回答にはコメントできませんが、彼の回答に基づいて編集しました mvim 別のcaseステートメントを追加するためのラッパースクリプト。 $ nameが vim それは追加されます -v オプション。それからシンボリックリンクを張った /usr/local/bin/mvim/usr/local/bin/vim

47 # vimdiff, view, and ex mode
48 case "$name" in
49     vim)
50         opts="$opts -v"
51         ;;
52     *vimdiff)

場合によっては、EDITORが設定されていることやエイリアスが信頼できない場合がありますが、PATHにある/ usr / local / binに依存することはできませんでした。


1

配色と関係があるようです。あなたの.vimrcで砂漠のテーマを無効にし、それが役立つかどうかを確認してください。 変化する colorscheme desert'colorscheme desert

そのような問題を避けるための最善の方法は、からvim 7.3をインストールすることです。 macポート


残念ながら違います。私は前にそれを試しました。私はその後取得しません E185: Cannot find color scheme desert エラーが、それでも他のすべての。
znq

0

自作のものを使用することを強くお勧めします --with-override-system-vim

MacVimをインストールし、/ usr / local / bin / vimシンボリックリンクを作成します。コマンドラインで動作 vim の呼び出しと同様に EDITOR

これがコマンドです:

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

(ちなみに、MacVimのブリューバージョンはYouCompleteMeプラグインとうまく動作します)


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.