簡體   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