我可以用git版本一个名称依赖于操作系统的路径吗



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

您不需要配置Git,只需将以下片段放入您的~/.vimrc:中,就可以告诉Vim也使用适用于Windows的~/.vim

" 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

我的设置非常简单。

在Mac上,版本化的目录是:

/Users/username/.vim

在Linux上,它是:

/home/username/.vim

在Windows XP上(是的),它是:

C:Documents and Settingsusernamevimfiles

它们都指向同一个GitHub存储库。

我的设置存储在位于存储库根目录的vimrc(无._)文件中。因此,它的版本和承诺/推送/拉像所有其他。

实际默认用户特定的vimrc

/Users/username/.vimrc
/home/username/.vimrc
C:Documents and Settingsusername_vimrc

是一个真实的文件,不需要符号链接。它只包含一行:

runtime vimrc

告诉vim读取并执行我的vimrc

由于:runtime的工作方式,我不需要使用真正的绝对路径,这在类Unix平台和Windows上会有所不同。

设置一台新机器或用户就像克隆我的repo和键入两个容易记住的单词一样简单。

我还需要在多个系统之间共享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等)

相关内容

  • 没有找到相关文章

最新更新