如何在vim中覆盖〜/ .vim和〜/ .vimrc路径(但没有其他路径)?

gfx*_*onk 23 vim configuration

假设我有一个所有vim配置的tarball - 一切都在〜/ .vim(插件,自动加载,颜色,所有东西)和vimrc文件中.我将其解压缩到某个目录.所以在我所在的目录($ PWD)中,有一个"vim"文件夹和一个"vimrc"文件.(注意:这个目录是只读的,所以vim不应该尝试写入它).

我可以向vim提供哪些命令行参数或环境变量,以确保加载所有插件,语法等以及vimrc,其顺序与它们位于〜/ .vim和〜时的顺序相同/.vimrc

作为奖励,如果可能的话,我想忽略主机的〜/ .vimrc和〜/ .vim(但这不是强制性的).

如果你想知道为什么我不只是把文件放在〜/ .vimrc和〜/,vim中,我正在尝试打包我自己的vim配置并随身携带它.我不想破坏我正在使用的计算机的vim配置,我只想用我的配置启动vim会话.

too*_*php 29

我有一个.vim完全如你所述的便携式文件夹,这就是我设置它的方式:

  • 把你的便携式.vimrc文件.vim文件夹.

  • 将以下行添加到便携式计算机的开头.vim/.vimrc:

" set default 'runtimepath' (without ~/.vim folders)
let &runtimepath = printf('%s/vimfiles,%s,%s/vimfiles/after', $VIM, $VIMRUNTIME, $VIM)

" what is the name of the directory containing this file?
let s:portable = expand('<sfile>:p:h')

" add the directory to 'runtimepath'
let &runtimepath = printf('%s,%s,%s/after', s:portable, &runtimepath, s:portable)
  • 使用以下命令启动vim : vim -u /path/to/portable/vim/.vimrc.


Dav*_*rby 5

在 Unix 和 Linux 系统(也许还有 Windows)上,Vim 使用 $HOME 环境变量来定位 .vimrc 文件和 .vim 目录。因此,您可以 cd 进入自定义版本所在的目录并启动 vim 或 gvim,如下所示:

HOME=. vim files....
Run Code Online (Sandbox Code Playgroud)