6

我希望将我的 Mac、Windows 和 Linux vim 配置文件存储在 git 中。在 *nix 系统上,您的 vim 配置文件位于 ${HOME}/.vim 但对于 Windows 二进制文件,同一目录名为“vimfiles” 我可以配置 git 以适应不同的目录名称吗?

4

3 回答 3

6

您不需要配置 Git,只需告诉 Vim 也~/.vim用于 Windows,方法是将以下片段放入您的~/.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
于 2012-07-20T09:56:02.580 回答
2

我的设置非常简单。

在 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 上会有所不同的真正绝对路径。

设置新机器或用户就像克隆我的仓库并输入两个容易记住的单词一样简单。

于 2012-07-22T16:53:42.457 回答
1

我还需要在多个系统之间共享 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 天的更改历史记录,这足以处理我需要 git 解决的大多数问题。很酷的是,您可以将新的宏或设置添加到您.vimrc的系统中,并且它会自动在您的所有系统上可用。

当然,这种方法也适用于您的其他配置文件(.gitconfig.gitignore.bashrc等)。

于 2012-07-20T21:24:02.673 回答