Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix vi(vim)读取~/.exrc以外的exrc文件_Unix_Vim_Vi_Ex - Fatal编程技术网

Unix vi(vim)读取~/.exrc以外的exrc文件

Unix vi(vim)读取~/.exrc以外的exrc文件,unix,vim,vi,ex,Unix,Vim,Vi,Ex,我们希望能够启动vi(或vim)与替代ex初始化文件。默认情况下,这是~/.exrc 不幸的是,vim(1)在这个系统上也是为“manex”而提出来的,它没有提到.exrc 任何提供等效行为的变通方法都将受到欢迎。我希望通用的-u conf_文件能够工作,但在这里失败了。一种解决方法是使用-u NONE不加载任何配置文件,然后使用-c获取所需的配置文件: ex -u NONE -c 'source your_local_exrc' 传统vi/ex的某些版本使用EXINIT环境变量作为启动时执行

我们希望能够启动vi(或vim)与替代ex初始化文件。默认情况下,这是~/.exrc

不幸的是,vim(1)在这个系统上也是为“manex”而提出来的,它没有提到.exrc


任何提供等效行为的变通方法都将受到欢迎。

我希望通用的
-u conf_文件能够工作,但在这里失败了。一种解决方法是使用
-u NONE
不加载任何配置文件,然后使用
-c
获取所需的配置文件:

ex -u NONE -c 'source your_local_exrc'

传统vi/ex的某些版本使用
EXINIT
环境变量作为启动时执行的命令字符串,如果未设置,则执行
$HOME/.exrc
。如果您正在运行这样一个版本,您可以将
EXINIT
设置为
so/other/file/to/execute
,以获取备用启动文件。

~/.exrc
(对于vi)文件中,在开始处添加以下行

set exrc   " Dangerous
set secure " Disables shell and write commands in .exrc/.vimrc

这将确保当前目录中的
.exrc
文件(如果存在)将被加载。

听起来像是在处理一个古老版本的vi。您使用的是什么版本(
vi--version
)?只需尝试
strace
Vims-ex:它不涉及任何类似于.exrcglts:VIM-vi的内容(2008年8月9日,编译于2010年7月12日12:49:33)。fork0:在我的Debian 6.0系统上,带有一个指向vim.basic的符号链接,“strace ex 2>&1 | grep exrc”会在~/.上产生一个统计和一个开放。exrcI认为vim读取
.exrc
如果
.vimrc
不存在。感谢Thor。这足够的信息可以找到我想要的东西,那就是“vi-u NONE-S-S your\u local\exrc”。因为-c表示命令,而-S表示文件的来源。我现在还看到,通过在vim中运行“:help init”可以获得详细的文档。我最初在手册页中搜索exrc是不够的。我的意思是说
-c'source your_local_exrc'
(现已修复),但
-S
更好:)谢谢现在,我已经在vim中找到了“:help init”,我看到EXINIT环境变量及其在~/.exrc上的优先级确实在这里有文档记录。