每次在打开Vim之前如何执行一个文件

3
我最近开始使用vim,非常喜欢它。我在vimrc文件中添加了一些简单的映射操作。
但问题是我经常需要使用很多远程机器,我不能将我的vimrc拷贝到这些机器上,而且大多数时间我没有足够的权限去做。所以,我想知道是否有办法将所有的vim映射放入一个文件中,并告诉vim每次加载时都运行它,就像vimrc一样?

你的需求对我来说不是很清楚。1)您想让所有机器都有不同的vimrc,但在“文件”中保持相同的映射吗?2)您是否希望所有ssh服务器都具有相同的vimrc文件?3)您说您没有权限将文件复制到目标服务器上,您是否有权限更改服务器上的vimrc或由bashrc引用的某些脚本,以便您可以创建vim别名?4)如果2)是真的,除了映射之外,您还有什么配置?是否有特定于服务器的设置/功能/插件? - Kent
@Kent,我没有更改vimrc文件的权限。但是,我想要与我在vimrc中设置的相同的按键组合。 - Durga Swaroop
我也有点困惑。如果您无法更改服务器上的任何文件,那么您打算从哪里加载映射?如果您可以更改文件,为什么不更改您的.vimrc文件呢? - Mad Wombat
我不确定有什么会让人感到困惑。并非所有用户都可以访问编辑vimrc文件。我只能访问一些特定的目录,而不是主目录。因此,我无法修改vimrc文件,因为我没有sudo权限。 - Durga Swaroop
2个回答

3

将 .vimrc 文件进行“解析”的操作称为source

在运行时,您可以使用 source 命令重新应用/解析您的 .vimrc 文件。

  :source ~/.vimrc

如果您能以某种方式复制您的 .vimrc 文件,即使不在您的主目录下,而是在 /tmp 这样的文件夹中,您也应该能够从那里导入它,使用 source 命令即可。

:source /tmp/.vimrc

这个问题有更多细节和解决方案。


谢谢,伙计。这太简单了。 - Durga Swaroop

3
一种选择是在启动程序时指定另一个.vimrc文件。
关于指定vimrc文件,vim手册如下所述:
“-u {vimrc}”:使用文件{vimrc}中的命令进行初始化。所有其他初始化都将被跳过。这可用于编辑特殊类型的文件。也可以通过给出名称“NONE”来跳过所有初始化。 有关更多详细信息,请参见vim中的“:help initialization”。
请注意,此选项将覆盖默认的vimrc文件,因此您必须在此文件中指定所有设置/选项。
正如在另一个答案中提到的那样,您可以将自定义的vimrc文件放在任何您想要(或可以访问的)位置,然后使用路径指定-u选项与您的vimrc文件。
您甚至可以将此方法与在线版本控制系统(如github)管理自定义vimrc文件相结合-这样,您将能够从Web wget文件,而不必手动从计算机复制它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接