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

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

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

当不使用 nano 作为超级用户时,它可以按预期工作,但不能与 sudo 混合使用。

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

答案1

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

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

要实现所需的效果,您需要将专门的设置应用于/root/.nanorc。然后,当您使用 时,将应用sudo nano的设置root,而不是 中的设置~/.nanorc

答案2

您可以使用以下方式执行此操作,例如:

sudo nano --rcfile ~/.nanorc <file-to-edit>

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

alias sudo='sudo '
alias nano='nano --rcfile ~/.nanorc'

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

有了这些行,您就可以sudo nano <file-to-edit>正常使用,并且您的信息$HOME/.nanorc也会被读取。

相关内容