Vim 中的语法高亮显示对用户打开,但对 root 关闭

Vim 中的语法高亮显示对用户打开,但对 root 关闭

我注意到,当我以 root 身份打开 Vim 等文件时~/.bashrc,以普通用户身份编辑 bash 脚本时的语法突出显示 (SH)(蓝色表示注释,橙色表示关键字,红色表示数字等)不会应用。谁能告诉我这取决于哪个配置?我正在使用 Debian Stretch。

编辑:我发现有一个选项syntax on可以/etc/vim/vimrc取消注释以默认启用语法突出显示。我想知道为什么我的普通用户默认打开此功能,而超级用户却没有。

答案1

如果您正在使用sudo -H <command>sudo -i或者您的版本sudoDefaults always_set_home设置(在默认值中/etc/sudoers或作为编译默认值),则以 root 身份运行的 shell 将使用/root/.bashrc其设置而不是~original_user/.bashrc.

Root 的默认环境通常比普通用户的默认环境更为保守。这是因为当系统出现问题时,您可能需要以 root 身份登录控制台来修复它。

该控制台可能是一个串行端口,或者是云平台(在虚拟机上)或管理处理器(在物理机上)生成的网页上基于 Java 或 HTML5 的终端模拟器。其中一些仅限于一组非常基本的终端功能,尝试使用高级功能可能会导致终端显示出现垃圾。

因此,最好默认禁用颜色,并在安全的情况下让系统管理员启用它们。

答案2

虽然 telcoM 在他们的答案中写的是有道理的,但在我的例子中,它归结为存在一个/root/.vimrc没有明确的 a syntax on。我曾经为首选设置创建过该文件,但普通用户不需要这样的文件。因此没有/home/stefan/.vimrc,并且这似乎默认启用语法突出显示,即使该行在syntax on中被注释掉了/etc/vim/vimrc

相关内容