在同一台机器上的账户之间进行 ssh 连接时,如何保留我的 vim 环境?

在同一台机器上的账户之间进行 ssh 连接时,如何保留我的 vim 环境?

我经常使用 SSH 在计算机上的帐户之间移动。多个不同的项目都有自己的开发和生产帐户。是否可以在帐户之间保持我的 vim 环境相同?

我尝试使用 VIMRUNTIME、VIM 和 vimrc 设置来为设置定义一个共享位置,但似乎不起作用。设置被拾取,但其他设置没有。例如,行号将被打开,制表符已启用,键绑定存在但没有配色方案,或者文件的文件类型似乎无法正确检测。

答案1

设置$VIMRUNTIME将覆盖系统范围共享配置的加载,这通常不是您想要的。不,您不能在该环境变量中指定多个路径,因此它不是很有用(文档暗示您不应该直接设置它,可能是因为这个原因)。

runtimepath相反,从您的内部添加到.vimrc

set runtimepath+=/home/ACCOUNT/.vim

然后,使用环境变量VIMINIT告诉 vim.vimrc在启动时获取你的(单个共享):

VIMINIT='so /home/ACCOUNT/.vimrc'

现在,您已经共享了您的.vimrc目录.vim及其内容,并且您仍然拥有配置的系统默认设置,这正是您所需要的。

答案2

好吧,你需要的不仅仅是 vimrc,还有 vim 的所有子目录:插件等等。配色方案取决于文件,文件类型识别也取决于文件。所以你需要一个 vim 的共享安装。

答案3

我爱 vim,我爱我的 bash 环境,每当我在一台没有 vim 和 bash 的机器上工作时,我都会哭泣……鳄鱼的眼泪

话虽如此,为了解决这个问题,我求助于 GIT,虽然它并不完美,但至少可以让我在主机之间保持我的环境。(顺便说一句,如果有人有更好的选择,请随意)。

因此,我使用 git 将 repo 克隆到远程机器,然后启动我的安装程序 bash 脚本。

我的环境如下:

# For the loading of git files
# The deploy/install file will create the symlink ~/.vimrc > ~/git/.../vimrc
$HOME/git/environment/vim/etc/{colors,ftdetect,plugins,vimrc}
$HOME/git/environment/vim/deploy/{install,remove}
$HOME/tmp/git/environment/vim/ # install backs up the originals here
# For the loading of local files
$HOME/.vim/{colors,ftdetect,plugins,vimrc}

我的 .vimrc 包含以下内容:

set runtimepath=~/git/env/vim/etc,$VIMRUNTIME

答案4

认为有办法在本地共享配置,正如其他人所描述的那样,如果您通过 ssh 连接到另一台机器,它仍然无法帮助您:)。

我所做的是建立了一个 [github 项目](http://github.com/astrails/dotvim]使用我的 .vim 配置,然后我就将它克隆到各处。

我不会经常更改我的 vim 设置,但是当我这样做时,我会提交并推送它,然后简单的“git pull”就会在需要时将其更新。

相关内容