获取 nano nanorc 设置以使用“sudo nano”命令

nil*_*ank 6 command-line sudo nano

任何人都知道在使用编辑器的“sudo nano”实例时如何让 nanorc 设置(语法高亮、鼠标)工作?

当不使用 nano 作为超级用户但不使用 sudo 时,它按预期工作。

我在 ~/.nanorc 和 /etc/nanorc 中有所有需要的设置,但是在使用 sudo 编辑文件时,没有应用任何个性化设置。

小智 6

当使用交互式 shell,然后sudo用于执行命令时,例如nano,应用程序特定配置文件中的当前用户设置不是来源。因此,在这种情况下,~/.nanorc不是来源,也不会读取设置。

当用户使用su切换到另一个用户时,也会出现同样的情况,包括root。在这两种情况下,都会加载新的或有效的用户设置。因此,使用sudo nano或使用su变成root然后执行nano,将/root/.nanorc获取用户设置的来源。全局配置文件中的设置,例如/etc/nanorc,会影响系统上的所有用户,并且只能用于设置全局设置,无论如何用户的文件可能会覆盖这些设置。

要产生您正在寻找的效果,您需要将专门设置应用于/root/.nanorc. 然后,当您应用sudo nano的设置root而不是 中的设置时~/.nanorc


sim*_*mon 5

你可以这样做,例如:

sudo nano --rcfile ~/.nanorc <file-to-edit>
Run Code Online (Sandbox Code Playgroud)

为了使这更方便,您可以执行以下操作:

alias sudo='sudo '
alias nano='nano --rcfile ~/.nanorc'
Run Code Online (Sandbox Code Playgroud)

第一个别名(for )是允许扩展用户别名的sudo标准技术。sudo

有了这些行,您就可以sudo nano <file-to-edit>正常使用并且您的内容$HOME/.nanorc将被阅读。