Stefan Hamcke Asked: 2018-10-26 05:30:58 +0800 CST2018-10-26 05:30:58 +0800 CST 2018-10-26 05:30:58 +0800 CST Vim 中的语法高亮为用户打开,但为 root 关闭 772 我注意到,当我~/.bashrc以 root 身份在 Vim 中打开文件时,以普通用户身份编辑 bash 脚本时的语法突出显示 (SH)(蓝色表示注释,橙色表示关键字,红色表示数字等)不适用。谁能告诉我这取决于哪个配置?我正在使用 Debian Stretch。 编辑:我发现有一个选项可以取消注释以默认启用语法突出显示syntax on。/etc/vim/vimrc我想知道为什么我的普通用户默认打开了这个功能,而超级用户没有。 vim colors 2 个回答 Voted telcoM 2018-10-26T05:41:06+08:002018-10-26T05:41:06+08:00 如果您正在使用sudo -H <command>,sudo -i或者您的版本sudo已Defaults always_set_home设置(在/etc/sudoers或作为编译的默认值),则以 root 身份运行的 shell 将/root/.bashrc用于其设置而不是~original_user/.bashrc. Root 的默认环境通常比普通用户的默认环境更为保守。这是因为当系统出现问题时,您可能需要在控制台上以 root 身份登录才能修复它。 该控制台可能是一个串行端口,或者是由云平台(在虚拟机上)或管理处理器(在物理机上)生成的网页上基于 Java 或 HTML5 的终端仿真器。其中一些仅限于一组非常基本的终端功能,尝试使用高级功能可能会导致终端显示出现垃圾。 因此,最好默认禁用颜色,并让系统管理员在安全的情况下启用它们。 Best Answer Stefan Hamcke 2018-10-26T11:31:41+08:002018-10-26T11:31:41+08:00 虽然 telcoM 在他们的回答中写的东西是有道理的,但在我的情况下,它简单地归结为 a 的存在而/root/.vimrc没有明确syntax on的。我曾经为首选设置创建了该文件,而普通用户不需要这样的文件。因此没有/home/stefan/.vimrc,这似乎默认启用语法突出显示,即使该syntax on行在/etc/vim/vimrc.
如果您正在使用
sudo -H <command>
,sudo -i
或者您的版本sudo
已Defaults always_set_home
设置(在/etc/sudoers
或作为编译的默认值),则以 root 身份运行的 shell 将/root/.bashrc
用于其设置而不是~original_user/.bashrc
.Root 的默认环境通常比普通用户的默认环境更为保守。这是因为当系统出现问题时,您可能需要在控制台上以 root 身份登录才能修复它。
该控制台可能是一个串行端口,或者是由云平台(在虚拟机上)或管理处理器(在物理机上)生成的网页上基于 Java 或 HTML5 的终端仿真器。其中一些仅限于一组非常基本的终端功能,尝试使用高级功能可能会导致终端显示出现垃圾。
因此,最好默认禁用颜色,并让系统管理员在安全的情况下启用它们。
虽然 telcoM 在他们的回答中写的东西是有道理的,但在我的情况下,它简单地归结为 a 的存在而
/root/.vimrc
没有明确syntax on
的。我曾经为首选设置创建了该文件,而普通用户不需要这样的文件。因此没有/home/stefan/.vimrc
,这似乎默认启用语法突出显示,即使该syntax on
行在/etc/vim/vimrc
.