Rob*_*and 8 vim configuration vimrc
有没有办法.vimrc只为单个 ssh 会话读取文件?也就是说,当我登录时,我会执行一些操作,以便 vim 使用 say/tmp/myvimrc直到我注销?
我不想永久覆盖当前的 .vimrc,我只需要在登录期间每隔一段时间使用一组不同的设置。
假设您在/tmp/myvimrc. 如果我的阅读man vim是正确的,您可以使用以下设置启动 vim:
$ vim -u /tmp/myvimrc
Run Code Online (Sandbox Code Playgroud)
因此,为了使其成为会话其余部分的选项,我将创建一个函数,将其设置为vim. 因此,bash我会在我的.bashrc文件中放入这样的内容:
function vimswitch {
alias vim='vim -u /tmp/myvimrc'
}
Run Code Online (Sandbox Code Playgroud)
然后,当我想要我的新 vim 设置时,我会运行:
$ vimswitch
Run Code Online (Sandbox Code Playgroud)
请注意,我不会将 myvimrc 存储在其中,/tmp因为这可以在重新启动时轻松清除。如果您使用的是其他外壳,bash则应该仍然可以,但语法可能略有不同。
您可以使用VIMINIT 环境变量来覆盖通常的使用,.vimrc同时保留初始化过程的其他部分。VIMINIT 应设置为一个或多个ex样式命令(“冒号”命令;使用管道 ( |) 分隔多个命令),而不仅仅是不同初始化文件的路径。
VIMINIT='so /tmp/myvimrc'; export VIMINIT
vim whatever # uses /tmp/myvimrc, not ~/.vimrc
Run Code Online (Sandbox Code Playgroud)
与 using 的主要区别-u在于 VIMINIT 仍将允许使用初始化过程的其他部分(例如 system vimrc,evim.vim(如果适用)等)。