我希望将我的Mac,Windows和Linux vimconfiguration文件存储在git中。 在* nix系统上,你的vimconfiguration文件在$ {HOME} /。vim中,但是对于Windows二进制文件,同一个目录名为“vimfiles”我可以configurationgit来容纳不同的目录名吗?
我的设置很简单。
在Mac上,版本化目录是:
/Users/username/.vim
在Linux上,它是:
/home/username/.vim
在Windows XP(是),它是:
C:\Documents and Settings\username\vimfiles
他们都指向同一个GitHub仓库。
我的设置存储在位于存储库根目录的vimrc (no .或_ )文件中。 因此,它的版本和承诺/推/拉像所有其余的。
实际的默认用户特定的vimrc ,
/Users/username/.vimrc /home/username/.vimrc C:\Documents and Settings\username\_vimrc
是一个真正的文件,不需要符号链接。 它只包含一行:
runtime vimrc
告诉vim读取和执行我的vimrc 。
由于:runtime工作原理,我不需要使用真正的绝对路径,这在Unix类平台和Windows上会有所不同。
设置新机器或用户就像克隆我的回购和输入两个容易记住的单词一样简单。
你不需要配置Git,只要告诉Vim在Windows中使用~/.vim ,把下面的代码放到~/.vimrc :
" On Windows, also use '.vim' instead of 'vimfiles'; this makes synchronization " across (heterogeneous) systems easier. if has('win32') || has('win64') set runtimepath=$HOME/.vim,$VIM/vimfiles,$VIMRUNTIME,$VIM/vimfiles/after,$HOME/.vim/after endif
我还需要在多个系统之间共享vim和其他应用程序的配置文件,我发现git不仅是矫枉过正,而且还需要在每个系统上手动同步以获取最新更新和发布更改。 对我来说更好的解决方案是将这些配置文件放入Dropbox,使我所有的系统连接到我的Dropbox帐户,并创建符号链接到这些共享文件。
例如,我把我的vimrc文件放在Dropbox/conf/vimrc ,然后做
ln -s ~/Dropbox/conf/vimrc ~/.vimrc
你应该可以使用Windows的mklink类似的效果来创建一个_vimrc符号链接到同一个文件。 同样,一个普通的Dropbox/conf/vim目录可以作为.vim或.vimfiles或者你的操作系统的vim可执行文件喜欢的地方链接到本地。
Dropbox记录了过去30天内的变化历史,足以应对我需要的大部分问题。 很酷的事情是,你可以添加新的宏或设置到你的.vimrc ,它可以在你所有的系统上自动使用。
当然这个方法也适用于你的其他配置文件( .gitconfig , .gitignore , .bashrc等)。