在 X 中我应该在哪里将 EDITOR 覆盖为 gvim?

在 X 中我应该在哪里将 EDITOR 覆盖为 gvim?

当我使用 远程连接到计算机时ssh,不使用-X,我希望less使用vhg commit打开vim。我知道我可以用 来做到这一点export EDITOR=vim。但是,如果我本地登录,或者通过ssh,我希望 gvim 在这些情况下打开。这可以通过调用正确的初始化文件-X来实现吗?如果可以,哪一个以及它如何工作?export EDITOR=gvim

答案1

通常,您需要在本地配置文件中设置编辑器(例如,~/.bash_profile针对 bash、~/.zprofilezsh 或通用的~/.profile)。每次登录时都会执行此文件。

在图形和非图形编辑器之间切换的简单方法是检查DISPLAY在导出环境时是否设置了环境变量EDITOR

export EDITOR="$(if [[ -n "$DISPLAY" ]]; then echo 'gvim'; else echo 'vim'; fi)"

(来源:https://wiki.archlinux.org/index.php/environment_variables#Examples

答案2

最简单的方式是创建一个小的 shell 脚本并将其放在中~/bin,然后设置 EDITOR 变量以指向它:

#!/bin/bash

if [ -z "$DISPLAY" ]
then
    vim "$@"
else
    gvim "$@"
fi

相关内容