9

今日/etc/vim/vimrcまで、私はvimのセットアップを構成するために使用していました。今日は.vimrcファイルを作ることを考えました。だから、私は使用しました

touch .vimrc
cat /etc/vim/vimrc > .vimrc

したがって、vimでファイルを開くと、次のエラーが発生します。

Error detected while processing /home/ronnie/.vimrc:
line   68:
E122: Function SplitColors already exists, add ! to replace it
line   77:
E122: Function ChangeColors already exists, add ! to replace it
line  171:
E174: Command already exists: add ! to replace it
line  174:
E174: Command already exists: add ! to replace it
Press ENTER or type command to continue

/etc/vim/vimrcシステムにと.vimrcファイルの両方があります。だから、これが私がこのエラーを受け取る理由です。これからは.vimrc、vimのセットアップを構成するためだけに使用したいからです。

4

4 に答える 4

14

すでに定義されているものと同じ名前の関数を定義しています。前の定義を「上書き」した後に感嘆符を追加するfunctionと、エラーメッセージが表示されなくなります。

于 2012-08-23T21:42:26.180 に答える
6

上記の答えのほとんどは正しいので、これは例による解決策ですが、問題の解決に直接役立つわけではありません。太字の関心領域。

"再定義の問題があるコード

関数CloseDuplicateTabs()endfunction

コマンドCloseDupTabs:call CloseDuplicateTabs()

"オーバーライド付きの修正されたコード

働き!CloseDuplicateTabs()endfunction

指図!CloseDupTabs:CloseDuplicateTabs()を呼び出す

于 2014-07-26T17:14:36.230 に答える
4

問題は、との両方/etc/vim/vimrc.vimrc供給されていることです。これはいくつかの要因に依存します。詳細については、を参照してください:help .vimrc

一般に、システム全体のVim構成は前者のファイルにあり、個人的なカスタマイズは後者にある必要があります。シングルユーザーシステムの場合、大きな違いはありませんが、ホームディレクトリにデータを移動する際に正しいことを行いました。以前のファイルから重複する関数などを削除するか、すべてをに移動した場合は完全に削除します.vimrc

于 2012-08-24T07:21:51.553 に答える
4

追加してみませんか!提案されたようにあなたの関数定義に?それはvimが文句を言うのをやめさせます。

または、これらの定義を/ etc / vim/vimrcから削除することもできます

于 2012-08-23T21:26:07.830 に答える