Когда я подключаюсь к машине удаленно, используя ssh
, без -X
, я бы хотел, чтобы v и less
для hg commit
открывали vim
. Я знаю, что могу сделать это с export EDITOR=vim
. Однако, если я вхожу локально или через ssh
с -X
, я бы хотел, чтобы gvim открывался в таких случаях. Можно ли это сделать, вызвав export EDITOR=gvim
в правильном файле инициализации? Если да, то какой и как он работает?
2 ответа
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)
1
Самый простой способ сделать это - создать небольшой скрипт оболочки и поместить его в ~/bin
и установить переменную EDITOR так, чтобы он указывал на него:
#!/bin/bash
if [ -z "$DISPLAY" ]
then
vim "$@"
else
gvim "$@"
fi