如何找出我的默认终端文本编辑器是什么?
在阅读git介绍材料时,我读了一篇提到这个问题的文章。
如何使用终端找出我的默认文本编辑器是什么?
是否有一个通用命令可以用来查找它?
默认编辑器由EDITOR
或VISUAL
环境变量定义。
如果两者都没有定义,则默认编辑器为vi
。 加
export EDITOR="/bin/nano"
到你的~/.bashrc
文件来设置,例如, nano
作为你的默认编辑器。
要查看是否已设置环境变量,您可以使用
printenv | grep EDITOR
要么
set | grep EDITOR
可以通过在前面添加“$”来取消引用指定环境变量的值
$ echo $EDITOR
要么
$ echo $VISUAL
在Ubuntu中,有一个通用editor
命令,由Debian替代系统设置。
如果你这样做:
editor foobar.txt
该文件将使用原始编辑器打开,例如vim
, nano
,目前优先editor
为editor
。
您可以查看详细信息:
update-alternatives --display editor
要将新编辑editor
设置为editor
:
sudo update-alternatives --config editor
另请注意, bash
检查一些环境变量以查找与之相关的任务,确切的是bash
检查VISUAL
, EDITOR
一个接一个。 如果未设置, bash
默认为emacs
。
从bash
产生的一些进程也检查这些环境变量。
实际上有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
此环境变量会覆盖$ EDITOR和$ VISUAL。 当在交互模式下启动编辑器时,它由几个Git命令使用。 另请参阅git-var(1)和git-config(1)中的core.editor选项。
如果我们通过git-var
查看它告诉我们
首选顺序是$ GIT_EDITOR环境变量,然后是core.editor配置,然后是$ VISUAL,然后是$ EDITOR,然后在编译时选择默认值,通常是vi。
因此,它拥有Debian的替代系统仅仅是Ubuntu的一个特点。 在没有Debian替代系统的其他系统上,它将默认为vi