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