在阅读git介绍材料的时候,我读到一篇文章,让我想到了这个问题。
如何使用终端找出我的默认文本编辑器?
是否有一些通用命令可以帮助我找到这个问题?
答案1
在 Ubuntu 中,有一个editor
由 Debian 替代系统设置的通用命令。
如果你这样做:
editor foobar.txt
该文件将使用原始编辑器打开vim
,例如,nano
其editor
当前优先级为。
您可以使用以下方式检查详细信息:
update-alternatives --display editor
要将新编辑器设置为editor
:
sudo update-alternatives --config editor
还请注意,bash
会检查一些环境变量以查找与其相关的任务,确切地说是逐个bash
检查。如果未设置,则默认为(除非您安装的编辑器已覆盖此设置)。VISUAL
EDITOR
bash
nano
一些进程bash
也从检查这些环境变量中产生。
答案2
EDITOR
默认编辑器由或VISUAL
等环境变量定义。
vi
如果两者都未定义,则使用默认编辑器。添加
export EDITOR="/bin/nano"
到您的~/.bashrc
文件进行设置,例如,nano
作为您的默认编辑器。
要查看环境变量是否已设置,您可以使用
printenv | grep EDITOR
或者
set | grep EDITOR
可以通过在命名环境变量的值前加上“$”来取消引用该值
$ echo $EDITOR
或者
$ echo $VISUAL
答案3
实际上,git var -l
它允许您列出变量,包括GIT_EDITOR
变量。这是我的(当然,私有信息未设置):
$ git var -l
user.name=*****
user.email=****
GIT_COMMITTER_IDENT=****
GIT_AUTHOR_IDENT=****
GIT_EDITOR=editor
GIT_PAGER=pager
正如 heemayl 已经指出的那样,editor
命令是由 设置的/etc/alternatives/editor
。就我而言,那是nano
(我认为这是 Ubuntu 的默认设置,因为我不记得有意识地努力更改我的默认编辑器)。
但在 Ubuntu 以外的其他系统上(或者我应该说没有 Debian 的替代系统),没有editor
。让我们阅读一下man git
:
GIT 编辑器
此环境变量覆盖 $EDITOR 和 $VISUAL。在交互模式下启动编辑器时,多个 Git 命令会使用它。另请参阅 git-var(1) 和 git-config(1) 中的 core.editor 选项。
如果我们仔细观察,git-var
它告诉我们
优先顺序是 $GIT_EDITOR 环境变量,然后是 core.editor 配置,然后是 $VISUAL,然后是 $EDITOR,然后是编译时选择的默认值,通常是 vi。
因此,Ubuntu 拥有 Debian 的替代系统只是它的一个特点。在其他没有 Debian 替代系统的系统上,它会默认使用vi