我如何找出我的默认终端文本编辑器是什么?

我如何找出我的默认终端文本编辑器是什么?

在阅读git介绍材料的时候,我读到一篇文章,让我想到了这个问题。

如何使用终端找出我的默认文本编辑器?

是否有一些通用命令可以帮助我找到这个问题?

答案1

在 Ubuntu 中,有一个editor由 Debian 替代系统设置的通用命令。

如果你这样做:

editor foobar.txt

该文件将使用原始编辑器打开vim,例如,nanoeditor当前优先级为。

您可以使用以下方式检查详细信息:

update-alternatives --display editor

要将新编辑器设置为editor

sudo update-alternatives --config editor

还请注意,bash会检查一些环境变量以查找与其相关的任务,确切地说是逐个bash检查。如果未设置,则默认为(除非您安装的编辑器已覆盖此设置)。VISUALEDITORbashnano

一些进程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

相关内容