在今天之前我使用/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设置。
答案 0 :(得分:12)
您定义的函数与已定义的函数名称相同。在function
"之后添加感叹号会覆盖"以前的定义,在您的情况下将停止显示错误消息。
答案 1 :(得分:4)
这是一个例子的解决方案,因为大多数答案在上面是正确的,但它们不能直接帮助您解决问题。感兴趣的区域以粗体显示。
“具有重新定义问题的代码
功能 CloseDuplicateTabs()endfunction
命令 CloseDupTabs:调用CloseDuplicateTabs()
“带有覆盖的固定代码
功能! CloseDuplicateTabs()endfunction
命令! CloseDupTabs:调用CloseDuplicateTabs()
答案 2 :(得分:3)
为什么不添加!你建议的功能定义?它会让vim停止抱怨。
或者,您可以从/ etc / vim / vimrc
中删除这些定义答案 3 :(得分:3)
问题在于/etc/vim/vimrc
和.vimrc
都来自。{这取决于几个因素;请参阅:help .vimrc
的详细信息。
通常,系统范围的Vim配置应该驻留在前一个文件中,而您的个人自定义应该位于后者中。对于单用户系统,没有太大区别,但是您将这些内容移动到主目录中是正确的。只需从原文件中删除重复的功能等,或者如果您已将所有内容移至.vimrc
,则将其完全删除。