使用机器之间的插件移植Vim

时间:2015-10-02 19:55:00

标签: git unix vim terminal portability

使用VIM进行编程需要为大多数现代项目提供多个插件,尤其是在处理大型代码库时。

为此目的:

  • 是否有完全自动化的VIM环境管理器,允许您在任何机器上部署基于病原体的VIM环境,无需任何手动工作?如果不是..

  • 有没有什么好的习惯用法,这是常用的,可以有效借用?

理由:我有很多VIM自定义。有没有办法在优雅且受到良好支持的机器之间同步VIM设置?

  • 当前替代方案:我倾向于使用粗略的基于cp -r的机制,它总是设法失去同步。

1 个答案:

答案 0 :(得分:2)

将整个~/.vim目录和~/.vimrc提交到git存储库(以及.bashrc等)。这是使bash和Vim设置可移植的正确和理想方式。完整设置是主目录中的一个文件夹,如~/dotfiles,带有符号链接到您的主目录,用于文件和文件夹,如.vim/。与~/.vim/中的~/dotfiles/.vim的符号链接一样。

当你向~/.vim/bundle/添加一个插件时,删除它的.git/文件夹,否则git认为插件目录是一个子模块,它不会提交。

在新计算机上,将存储库克隆到您的主目录中,这样您就可以使用~/dotfiles之类的内容。然后将适当的文件符号链接到您的主目录,如ln -s ~/.vimrc ~/dotfiles/.vimrc

Here's an example我的配置设置中包含以上所有内容。我在automatically symlinks all files starting with .运行的目录中有一个脚本到主目录。

要升级插件,只需rm -rf ~/.vim/bundle/中的插件目录将插件仓库再次克隆到~/.vim/bundle/,然后cd进入新的克隆文件夹并rm -rf {再次{1}}文件夹,然后.git/并将更新的插件源提交到您的dotfiles仓库。

这是一个理想的设置,因为Vim插件生态系统非常糟糕。您经常需要亲自深入了解插件源代码并手动修改行。如果您已经将所有插件都设置为一个仓库,那么更新其源代码并提交到便携式git add pluginName仓库非常容易。否则,您必须手动修改您修改的每个插件并维护fork,或者向原始存储库提交pull请求并等待它合并。