繁体   English   中英

如何在 FreeBSD 中通过 tcsh 将 sudo vipw 的默认编辑器从“vi”更改为“vim”

[英]how do I change default editor for sudo vipw from "vi" to "vim" by tcsh in FreeBSD

当我使用命令sudo vipw编辑我的密码文件时,它总是使用 vi 作为编辑器。 我不太喜欢这个,想把它改成vim。

我已经尝试过:在/etc/profile添加export EDITOR=/usr/local/bin/vim
但是外壳告诉我“导出:找不到命令”。 我认为原因是 export 是仅在bash中的内置功能。 而且我不想改变我的外壳。

/etc/login.conf的默认块中添加EDITOR=/usr/lcoal/bin/vim
/root/.cshrc , /.cshrc , ~/.cshrc添加setenv EDITOR vim

以上所有都不起作用。 我有几个小时谷歌,但找不到任何帮助。

您的/ etc / sudoers文件没有保留EDITOR环境变量。

我个人有一个/etc/sudoers.d/local文件,类似

# We don't need to worry about wheel users breaking in to get root access because they already have it.
Defaults:%wheel env_keep+="HOME EDITOR",!set_home,shell_noargs

我不确定为什么这不是默认设置,因为轮盘用户已经获得了完全访问权限。 但是,继续困扰他们显然是普遍的智慧。

注意:如果您使用的旧的/ etc / sudoers文件不支持/etc/sudoers.d目录,则可以将这些行放在其中...或者您可以添加#includedir /etc/sudoers.d作为/ etc / sudoers文件的最后一行,以启用/etc/sudoers.d目录。 嗯,是的, #是该行的必需部分,因为有人认为该指令看起来像注释很重要。

尝试将其添加到root用户/root/.chsrc

setenv EDITOR  vim

或使用shell tcsh/csh将其全局设置为所有用户使用,请将其添加到/etc/csh.cshrc

男人

A login shell begins by executing commands from the system files /etc/csh.cshrc  
and /etc/csh.login. It then executes commands from files in the  user's  home directory:
first  ~/.tcshrc or, if ~/.tcshrc is not found, ~/.cshrc ...

Non-login  shells read only /etc/csh.cshrc and ~/.tcshrc or ~/.cshrc on startup.

还要验证vim是否已安装,因为默认情况下未安装,您可以尝试:

pkg install vim-console 

设置 EDITOR 或 VISUAL 环境变量是关键。 如果您不想麻烦修改配置文件(这确实是长期解决方案),那么您可以sudo su -进入根提示符,然后您可以在之前export EDITOR=/usr/bin/vim运行vipw

$HOME (/root) 中有一个名为.selected_editor的空文件。 删除它,下次调用 vipw 将要求您选择编辑器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM