Когда я подключаюсь к машине удаленно, используя ssh , без -X , я бы хотел, чтобы v и less для hg commit открывали vim . Я знаю, что могу сделать это с export EDITOR=vim . Однако, если я вхожу локально или через ssh с -X , я бы хотел, чтобы gvim открывался в таких случаях. Можно ли это сделать, вызвав export EDITOR=gvim в правильном файле инициализации? Если да, то какой и как он работает?

2 ответа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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .