[英]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.