是否可以通过编程方式知道 git 将使用哪个编辑器?这样的事情可能吗?
$git which editor
/usr/bin/nano
基本上,我只想为 git 提交消息调用自定义编辑器。因此,如果文件名是“COMMITMSG”,我将调用其他内容,否则我想回退到默认的 git 编辑器。
我知道 git 使用 GIT_EDITOR、core.editor、VISUAL、EDITOR 来选择编辑器。但这一切都不存在,我不知道该怎么办。 Here 它说,它使用 vi。但在我的机器上,它使用纳米。因此,对其进行硬编码并不真正可靠。
因此,如何知道 git 将以编程方式使用哪个编辑器?如果不是直接从 git 获取,还有其他解决方法吗?
使用命令
git var GIT_EDITOR
它完全使用 Git 用来调用编辑器的算法来输出值,无论编辑器的配置方式如何。如果
$GIT_EDITOR
、core.editor
、$VISUAL
、$EDITOR
均未设置,则会输出一些合理的默认值。
当我的 Debian Linux 系统上未设置任何内容时,它会输出
editor
,其中 /usr/bin/editor
是指向 vim.gtk3
的(间接)符号链接。在您的系统上,符号链接链可能指向 nano
。
如果你想运行“Git 会调用的同一个编辑器”来编辑文件
filename
运行这个:
`git var GIT_EDITOR` filename
或
$(git var GIT_EDITOR) filename