Cbh*_*ihe 28 vim nano default-programs visudo
这样做时sudo visudo,默认编辑器是nano.
我想将其更改为vi或vim。
我已经作出vim的默认编辑器,并使用它作为替代gedit,以开放的PHP,txt文件,.c和.h文件,通过将vim.desktop文件~/.local/share/applications/,并通过正确地编辑无论是 ~/.local/share/applications/mimeapps.list或/etc/gnome/defaults.list。但是显然这不适用于nano.
任何线索?
Vol*_*gel 21
问题不是它不适用于nano,而是它不适用于外壳:
只需设置VISUAL环境变量:
export VISUAL=vim
Run Code Online (Sandbox Code Playgroud)
也添加这个 ~/.bashrc 以使其永久化。
由于您似乎通常使用 vim,请同时设置VISUAL和EDITOR:
export VISUAL="vim"
export EDITOR="$VISUAL"
Run Code Online (Sandbox Code Playgroud)
或更多 POSIX 正确
VISUAL="vim" ; export VISUAL
EDITOR="$VISUAL" ; export EDITOR
Run Code Online (Sandbox Code Playgroud)
我假设nano是一个或两个变量的值。
为了在visudo中实际使用编辑器,我们需要正常处理sudo不保留环境变量的情况。该选项-E改变了这一点。
sudo -E visudo
Run Code Online (Sandbox Code Playgroud)
没有-E这里,你最终会得到一个默认的nano再次
这两个变量在哪里使用命名的文件很久以前*.desktop或mime*甚至存在。
(令人印象深刻的是:它们实际上被用作通用标准。)
在 Ubuntu 中,系统默认设置似乎是使用sudo update-alternatives --config editor. 它显示了一个用于更改当前关联的菜单。
见ENVIRONMENT在man visudo:
VISUAL Invoked by visudo as the editor to use
EDITOR Used by visudo if VISUAL is not set
Run Code Online (Sandbox Code Playgroud)
正如描述的这个答案,加
Defaults editor=/path/to/editor
Run Code Online (Sandbox Code Playgroud)
注意:这仅在正在编辑的文件包含该Defaults editor=/path/to/editor行或包含包含该行的文件时才有效。
例如:visudo -f /etc/sudoers.d/my_sudoers_extension将默认为 Nano。
如果您从不打算使用 nano,您也可以简单地将其删除。然后系统会默认使用vi/vim。
sudo apt-get purge nano
Run Code Online (Sandbox Code Playgroud)
我知道这不是官方答案,但它是我安装 Ubuntu 后的第一个命令之一。
| 归档时间: |
|
| 查看次数: |
16380 次 |
| 最近记录: |