当我使用 远程连接到计算机时ssh
,不使用-X
,我希望less
使用v并hg commit
打开vim
。我知道我可以用 来做到这一点export EDITOR=vim
。但是,如果我本地登录,或者通过ssh
,我希望 gvim 在这些情况下打开。这可以通过调用正确的初始化文件-X
来实现吗?如果可以,哪一个以及它如何工作?export EDITOR=gvim
答案1
通常,您需要在本地配置文件中设置编辑器(例如,~/.bash_profile
针对 bash、~/.zprofile
zsh 或通用的~/.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