我注意到,当我以 root 身份打开 Vim 等文件时~/.bashrc
,以普通用户身份编辑 bash 脚本时的语法突出显示 (SH)(蓝色表示注释,橙色表示关键字,红色表示数字等)不会应用。谁能告诉我这取决于哪个配置?我正在使用 Debian Stretch。
编辑:我发现有一个选项syntax on
可以/etc/vim/vimrc
取消注释以默认启用语法突出显示。我想知道为什么我的普通用户默认打开此功能,而超级用户却没有。
答案1
如果您正在使用sudo -H <command>
,sudo -i
或者您的版本sudo
已Defaults 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
。