如何在多个客户端之间共享一个vimrc文件?

2024-01-23

有时我不是一个很有秩序的人,我经常发现自己处于丢失旧的完全调整过的 vimrc 文件并不得不重新开始的情况。或者在不同的客户端上有不同版本的 vimrc 文件。由于这个混乱对我来说已经失控,我想知道是否有一个好的方法来管理我的 vimrc 文件。

我的第一个举措是将我的 _vimrc 放在 subversion(Google 代码)上,我打算维护它。欢迎其他想法。

Update

我采用以下解决方案解决:

  • 上传.vimrc and .gvimrc到名为的目录中的在线代码存储库Vim。使用文件名_vimrc and _gvimrc这样它们就不会被隐藏,并且与 Windows 兼容。

  • 检查目标系统上的存储库

  • 在 Mac OSX/Linux 上创建符号链接:

    ~ $ ln -s my_repository/Vim/_vimrc $HOME/.vimrc

    ~ $ ln -s my_repository/Vim/_gvimrc $HOME/.gvimrc

  • 在 Windows 上,我检查 Vim 文件夹而不是 Program Files 目录中的文件夹。 SVN 抱怨那里已经存在文件,但您可以将它们添加到忽略列表中。


I use Dropbox http://www.getdropbox.com/。我创建了一个文件夹vim在我的保管箱中,其中包含我的.vimrc(实际上:vimrc.vim) and colors, plugin等目录。

Dropbox 将所有这些文件推送到我所有的计算机(家庭、工作、笔记本电脑、Bootcamp),因此每次我想要更改我的vimrc,我可以这样做,而且不必担心将其复制到正确的目录或从 SVN 或其他任何地方检出文件。一切都会自动发生!

我的实际.vimrc仅包含加载 Dropbox 中的内容所需的内容。在 OSX 和 Linux 上,它看起来像这样:

set runtimepath^=~/Dropbox/vim
source ~/Dropbox/vim/vimrc.vim

在 Windows 上,像这样:

set runtimepath^=$HOME/My\ Documents/My\ Dropbox/vim
source $HOME\My Documents\My Dropbox\vim\vimrc.vim

就是这样!

(实际上,我把vimrc也在我的 Dropbox 中,因此每当我设置新计算机或重新安装旧计算机时,我都不必记住它们。)

Dropbox 的免费版本将为您提供 30 天的修订历史记录,付费版本将为您提供完整的修订历史记录。请注意,如果您使用的是 Linux,那么使用 GNOME 是最简单的,Dropbox 有一个很好的客户端。

条件设置

如果您有轻微的配置更改,并且想在不同的计算机上使用,这是一个方便的解决方案:

在每个 .vimrc 文件中创建一个小函数来返回您所在系统的类型:

fun! MySys()
    return 'linux'
endfun 

然后在你的全局 vimrc.vim 文件中:

if MySys() == "linux"
    set backupdir=./.backup,/tmp
    set directory=./.backup,/tmp 
elseif MySys() == "windows"
    set backupdir=$HOME/AppData/Local/backup,$HOME/AppData/Local/tmp
    set directory=$HOME/AppData/Local/backup,$HOME/AppData/Local/tmp
endif

Dropbox 替代方案

有许多云存储和同步服务,Dropbox 只是其中之一。开源服务,例如http://sparkleshare.org/ http://sparkleshare.org/ and http://one.ubuntu.com http://one.ubuntu.com存在,但我们鼓励您在互联网上搜索最适合您需求的解决方案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在多个客户端之间共享一个vimrc文件? 的相关文章

  • 如何让 vim 很好地对齐三元 ?: 运算符?

    我喜欢使用三元 运算符编写代码 如下所示 std string result input empty createNewItem processInput input 我如何配置vim 以便在输入后按回车键createNewItem 缩进下
  • 在 vim 中执行 python 命令并获取输出

    当 Vim 编译时支持 Python 时 您可以使用 Python 编写 Vim 脚本 python命令 我将如何使用它来执行命令并将结果插入光标下 例如 如果我要执行 python import os os listdir aDirect
  • 设置 Vim 背景颜色

    当我尝试更改背景颜色时 vimrc或者直接在 Vim 中使用以下命令 set background dark 这根本不影响我的背景 也没有light选项 不过 当我运行 gvim 时 看起来还不错 有没有办法在不更改 Konsole 设置的
  • Vim 状态栏预测/完成?

    昨天我玩了一些 vim 脚本 并设法对我目前正在输入的内容进行一些超出状态栏的预测 通过循环 请参阅屏幕截图 灰色 黄色条 问题是 我不记得我是如何得到它或找到我用于 vim 魔法的代码片段 我记得它非常简单 它要么是文档中的示例 要么是我
  • 使用关键字启动 syn 区域

    我想用 virtual 启动一个区域 以用不同的颜色突出显示所有虚拟方法 但是 virtual 已经在 cpp vim 文件中定义为关键字 因此永远不会执行区域匹配 我尝试了以下方法 syn region cVirtualMethod st
  • Vim:领导不工作

    当尝试使用时vim latexsuite的映射 使用的是Leader不工作 nmap n
  • 在 Vim 中粘贴拉出的行后,为什么不能再次粘贴它?

    这个问题以前可能已经回答过 但我尝试搜索 但找不到任何答案 我对 Vim 有点陌生 遇到以下问题 一旦我拉出一行并粘贴它 我就无法再次粘贴它 例如 假设在Word环境中您将复制文本 粘贴它 然后您可以进一步粘贴它 但在 Vim 中 一旦我粘
  • 有没有办法改变vim的默认模式

    有谁知道如何更改vim的默认模式 它的默认模式是命令模式 但是我可以将其更改为插入模式吗 只需将以下行添加到您的 vimrc 中 start Vim s default mode will be changed to Insert mode
  • 在 vim 中设置文本宽度而不覆盖特定于文件类型的内容

    我希望 vim 中默认的文本宽度为 80 但如果特定文件类型有自己的文本宽度 特别是 gitcommit 其中 tw 72 我希望 vim 尊重该宽度 在我的 vimrc 中 我有以下行 set tw 80 我也尝试过 setlocal t
  • git commit 保存 vim 文件时出错

    我正在遵循简单的 git 指南nettuts 简易 git 指南 http net tutsplus com tutorials other easy version control with git 我在我的中初始化了一个空的 git 实
  • Vim 重复点(“.”)命令缓冲区?

    我真的很喜欢 YankRing 的行为 它让我可以访问我最近完成的几件事y固定或d已删除或c不假思索地被吊死了 然而 这样的补充功能对于 重复命令 最常见的是当我键入我真正想重复的内容时 然后按x清理一些东西 通常 可以通过视觉模式拉动我刚
  • 如何在 Vim 中使 shift+空格键向上翻页?

    我的 vimrc 中有一个条目 当我按空格键时 它会在视口中向下翻页 它看起来像这样 map
  • Vim 错误格式和 jslint

    我正在尝试让 makeprg 和 errorformat 与 VIM 和 jslint 一起使用 但似乎无法为我的生活提供正确的错误格式 我正在使用 jslint 的 NodeJS 版本 它会产生如下结果 1 116 9 The body
  • 在 Vim 的 `autocmd` 命令中调用函数

    我想使用expand函数在一个autocmd 特别是 我正在改编tip https stackoverflow com questions 1240037 recommended build system for latex 1394702
  • 在 Vim 中移至当前单词的末尾

    通常我使用ea将某些内容附加到单词上 但是 如果光标已经位于单词的最后位置 则此方法不起作用 ea将使光标移动到末尾next word 我很想知道是否有任何移动到末尾的热键current即使光标已经位于单词的最后位置 也会显示单词 Than
  • vim 中的语法高亮

    当我在 vim 中打开语法颜色时 我无法在黑色上阅读深蓝色 如何更改一些默认颜色或模式颜色 例如 http www vim org scripts script php script id 1571 http www vim org scr
  • 在 Vim 中撤消光标移动

    假设我的光标位于下面的代码中 internal static SingleSelectList
  • 如何从 Bash 命令行在后台 Vim 打开另一个文件?

    我正在从使用 Gvim 过渡到使用控制台 Vim 我在 Vim 中打开一个文件 然后暂停 Vim 在命令行上运行一些命令 然后想返回到 Vim Ctrl Z 在正常模式下 暂停 Vim 并返回到控制台 fg可用于将焦点返回到 Vim job
  • Vim 和 Mac:如何在不使用 pbcopy 的情况下复制到剪贴板

    我有一个同时支持剪贴板和 xterm clipboard 的 vim 版本 然而 y or y不要复制到系统剪贴板 我知道我可以使用 w pbcopy 甚至为其创建快捷方式 但我真的想要标准方式 我也看到了 fakeclip 但希望找到一个
  • Vim:使用制表符缩进,使用空格对齐

    我已经阅读了几个问题和答案 Vim 使用制表符缩进 使用空格与 C 源文件对齐 https stackoverflow com questions 8493705 vim use tabs for indentation spaces fo

随机推荐

  • 为什么使用 AsQueryable() 而不是 List()?

    我正在使用存储库模式进行数据访问实体框架 http en wikipedia org wiki ADO NET Entity Framework and LINQ http en wikipedia org wiki Language In
  • Z3 Optimize 最大和最小功能背后的理论是什么?

    我写这封信是为了询问 Z3 Optimize 功能背后的理论 算法 特别是它的maximum and minimum功能 这对我来说似乎很神奇 它是某种二分搜索吗 它如何有效地计算出这里的最大 最小值 我试图搜索相关功能的源代码 例如 ex
  • context-param可以在web.xml中引用吗?

    我可以在 DD 本身中引用上下文参数吗 例如
  • ReactiveList 和 WhenAny

    我有许多检查清单ReactiveLists具有ChangeTrackingEnabled true 我只想在每个列表中至少选中一项时启用 OkCommand 此外 我想确保用有效的字节值填充其他各种属性 我尝试执行以下操作 但它不起作用 t
  • 如何修改 Azure Functions 中本机注入的 IConfiguration

    我们需要add本地提供给 Azure Functions 的本机 IConfiguration 的配置提供程序 目前我们完全替换使用以下代码将其与我们的自定义 Iconfiguration 结合使用 public class Startup
  • OWIN app.use vs app.run vs app.map

    它们之间有什么区别app use app run app map in Owin http www asp net aspnet overview owin and katana 什么时候用什么 阅读文档时并不简单 app use将一个中间
  • 具有有限身份验证的附加组件无法打开侧边栏

    我有一个 Google 文档插件 它被编程为在文档打开时立即打开侧边栏 当然 这需要在文档中安装并启用该附加组件 我发现 一周以来 在我们的用例中非常有用的侧边栏自动打开功能不再起作用 在 StackDriver 日志中我看到此报告 onO
  • 在 MKMapView 上使用叠加层进行缩放时出现异常: NSInvalidArgumentException NSSetM removeObject:对象不能为 nil

    我添加了大约1000MKPolygon到一个MKMapView 将叠加层添加到MKMapView效果很好 但是 如果我快速放大和缩小 偶尔放开变焦 这样mapView处理它是新的visibleMapRect 我发现应用程序 有时 崩溃并出现
  • VIM 从 :shell 命令中打开文件

    假设我从 with VI 发出 shell 命令 然后我导航到一个目录并决定需要编辑我在那里看到的 foo txt 文件 有没有办法从 shell 返回 vi 并打开 foo txt 进行编辑 只要满足以下条件 就有办法实现你想要的 Vim
  • 压缩存档错误:无法访问该文件,因为该文件正在被另一个进程使用

    我想压缩一个路径 其中运行一个服务窗口 当服务停止时 它工作正常 当服务运行时 我有例外 该进程无法访问该文件 因为该文件正在被另一个进程使用 过程 但是 当我使用 7 zip 压缩时 没有任何异常 我的命令 Compress Archiv
  • 在两列之间的范围内搜索特定值python dataframe

    我有两个 csv 文件 根据 csv 文件 1 中单元格的值 我应该能够在 csv 文件 2 的列中搜索该值 并从 csv 文件 2 中的其他列获取相应的值 如果这很令人困惑 我很抱歉 通过插图可能会变得清楚 CSV 文件 1 Car Mi
  • 正则表达式仅允许字母和某些字符

    我正在尝试创建一个仅允许大写或小写字母以及空格字符 和 的正则表达式 这是我到目前为止所拥有的 但由于某种原因它仍然让我输入数字 a zA Z 任何帮助都会很棒 谢谢 在角色类别中很特殊 它用于定义一个范围 就像您所做的那样a z 匹配文字
  • 获取对从 AsyncTask 调用 Activity 的引用(不是作为内部类)

    是否有可能从不是调用 Activity 类的内部类的 AsyncTask 中获取对启动 AsyncTask 执行的 Activity 实例的引用 我知道这个线程 https stackoverflow com questions 23792
  • 如何使用模板专门化来查找成员函数参数类型等?

    我确信我以前见过这种描述 但现在我一辈子都找不到它 给定一个具有某种形式的成员函数的类 例如 int Foo Bar char double 如何使用模板和各种专业化来推断组成类型 例如 template
  • HttpContext 为空?

    是否可以这样说 当 Httpcontext 对象为 null 时 iis 就关闭了 我知道当第一个请求iis asp net 时应用程序管理器创建 环境 应用程序域 其中有应用程序运行时 里面有块 如果服务器上有超过 1 个应用程序 每个
  • 使用 Python 拆分 ps 的输出

    在 Linux 上 命令 ps aux 输出进程列表 其中每个统计数据包含多个列 例如 USER PID CPU MEM VSZ RSS TTY STAT START TIME COMMAND postfix 22611 0 0 0 2 5
  • 如何以编程方式删除广告的快捷方式?

    因此 我搞砸了一个 msi 安装程序 并仅在测试安装后部署了它 而不是卸载 我知道不好 在安装后添加了 exe 的运行 但忘记指定它只应在安装时发生 而不是在卸载时发生 我找到了Windows 安装程序清理 http support mic
  • php中如何将浮点值转换为整数?

    我想在 php 中将浮点值 例如 1 0000124668092E 14 转换为整数 php output 中最好的方法是什么应该是 100001246680920 你所说的转换是什么意思 铸件 int float or intval fl
  • 如何更改R闪亮中SelectInput周围区域的宽度

    我在 R 中有一个 SelectInput 它周围有很多空白 这是我的 ui r 中的选择输入 library shiny shinyUI pageWithSidebar headerPanel GetHeader sidebarPanel
  • 如何在多个客户端之间共享一个vimrc文件?

    有时我不是一个很有秩序的人 我经常发现自己处于丢失旧的完全调整过的 vimrc 文件并不得不重新开始的情况 或者在不同的客户端上有不同版本的 vimrc 文件 由于这个混乱对我来说已经失控 我想知道是否有一个好的方法来管理我的 vimrc