我正在使用此截屏视频中描述的方法来保持我的 vimrc 和插件在多台机器上同步。我遇到的问题是一台机器运行ubuntu,另一台运行win7。
到目前为止,我发现了两种类型的问题。第一个似乎是行尾。为了让我的 windows vimrc 在 linux 机器上被读取,我必须做:set fileformat=unix and write
. 但即使这样做了,我在所有插件中都遇到了类似的行尾问题:
jg@jg-VirtualBox:~$ vim ~/.vimrc
Error detected while processing /home/jg/.vimrc:
line 11:
E484: Can't open file /home/jg/vimfiles/plugin/autotag.vim
Error detected while processing /home/jg/.vim/plugin/DrawIt.vim:
line 60:
E492: Not an editor command: ^M
line 62:
E15: Invalid expression: &cp^M
line 1290:
E171: Missing :endif
Error detected while processing /home/jg/.vim/plugin/auto_number.vim:
line 5:
E488: Trailing characters
我可以做一些事情,比如vim ~/.vim/**/*.vim
将它们全部加载,然后:argdo set ff=unix | w
以相同的方式修复所有文件,但这似乎是一种糟糕的方法,因为任何时候我都用我的 vimfiles 从一台计算机更新 git repo 并从另一台计算机上提取它,我必须记住做这个文件转换。有没有更好的办法?
最后,vimrc 中的某些配置细节,例如某些二进制文件的位置,会因操作系统而异。处理这些差异的最佳方法是什么?我应该在我的 .vimrc 中添加 if 语句分支到 has("gui_win32"),还是有更好的方法?
谢谢!