このスクリーンキャストで説明されている方法を使用して、vimrc とプラグインを複数のマシン間で同期させています。私が直面している問題は、1 台のマシンが ubuntu を実行しており、もう 1 台のマシンが win7 を実行していることです。
これまでに 2 種類の問題が見つかりました。1つ目は行末のようです。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 リポジトリを更新し、別のコンピューターからプルするときはいつでも、このファイル変換を忘れずに行う必要があります。より良い方法はありますか?
最後に、特定のバイナリの場所の場所など、vimrc の特定の構成の詳細は、OS によって異なります。これらの違いを処理する最善の方法は何ですか? has("gui_win32") で分岐する if ステートメントを .vimrc に追加する必要がありますか、それとももっと良い方法がありますか?
ありがとう!