我想设置系统范围的vi
设置。
我知道我可以vim
在/etc/vimrc
和中设置编辑器的首选项~/.vimrc
但我不认为我的vi
CentOS7 正在从 vimrc 文件或位置读取任何内容,例如/etc/virc
或~/.virc
答案1
戳戳POSIX:
Initialization in ex and vi
See Initialization in ex and vi for a description of ex and vi
initialization for the vi utility.
还有联机帮助页ex
说:
IEEE Std 1003.1-2001 does not mention system-wide ex and vi start-up
files. While they exist in several implementations of ex and vi, they
are not present in any implementations considered historical practice
by IEEE Std 1003.1-2001. Implementations that have such files should
use them only if they are owned by the real user ID or an appropriate
user (for example, root on UNIX systems) and if they are not writable
by any user other than their owner. System-wide start-up files should
be read before the EXINIT variable, $HOME/.exrc, or local .exrc files
are evaluated.
所以我想/etc/exrc
这是你对老派的最好选择vi
。
然而,vi
在 CentOS 7 上可能只是,在这种情况下,启动文件的名称vim-minimal
仍将使用:或。vim
/etc/vimrc
/etc/vim/vimrc
答案2
这个问题具体是关于CentOS7的,并提到了vim。这只能是以下几个包之一:vim-minimal
, vim-enhanced
, vim-x11
。 CentOS 不提供 vi 其他实现的软件包,例如nvi
.
包装说明vim-minimal
说
vim-minimal 软件包包含 VIM 的最小版本,它安装到 /bin/vi 中,以便在仅存在根分区时使用。
并man vi
给出了 vim 手册页,其中列出了使用的系统配置文件:
/etc/vimrc System wide Vim initializations.
/etc/gvimrc System wide gvim initializations.
由于没有提及gvim
,正确的答案是/etc/vimrc
。
请注意,vim 的文档确实不是运行时列出不同的配置文件vi
。没有/etc/virc
或~/.virc
文件。
事实上,POSIX 避免告诉我们哪里任何系统配置文件可能驻留。基思·博斯蒂克(Keith Bostic)(大部分内容均由他撰写)vi 的 POSIX 描述)使用了不同的系统配置文件nvi
:
/etc/vi.exrc
除了不提及系统配置文件外,Bostic 还选择不记录模型行(或在 中实现它们nvi
)。两者是相关的。其他实现vi
提供(可选或不)从当前目录读取配置文件的方法。这可能会导致意想不到的结果,而模型行可能会加剧这种情况。 Unix 系统(AIX、HPUX、Solaris)根据设置和使这些功能成为可选功能(与elvis
、 和一样) 。也将该设置用于相同目的。vim
exrc
modeline
nvi
exrc
vim 的手册页没有提及,但帮助/文档确实说如果找不到合适的~/.vimrc
,它将寻找/.exrc
(no /etc/exrc
)。记录~/.exrc
为太阳操作系统4。 索拉里斯10同样提到~/.exrc
,但没有/etc/exrc
。
进一步阅读: