Linux: как автоматически определить отображение и настроить редактор по умолчанию

Я относительно новичок в Linux. Я подключаюсь к удаленной машине linux иногда через telnet, а иногда и через NX-клиент для windows. При подключении через телент я бы, как редактор по умолчанию Vim, а когда я подключаюсь через ПХ я бы, как редактор по умолчанию GVim выступает. Есть ли способ автоматически определить, какое соединение я использую, когда файл псевдонима получен? Прямо сейчас у меня есть следующее В моем файле псевдонима:

alias usevim 'setenv CSCOPE_EDITOR vim; setenv EDITOR vim'
alias usegvim 'setenv CSCOPE_EDITOR gvim; setenv EDITOR gvim'
echo 'using vim'
usevim

этот редактор по умолчанию в Vim. Когда я подключаюсь через NX, первое, что я сделаю, это наберу 'usegvim'. Я хотел бы не делать это каждый раз! Есть ли способ определить, присутствует ли дисплей или нет?

спасибо!

обновить: если ($?Дисплей) не работает, потому что мой .файл cshrci имеет строку " setenv DISPLAY ..."

UPDATE: теперь я использую cygwin для ssh в удаленном окне и использую Cygwin XWIN Server для отображения моих приложений gui. Теперь мне не нужно беспокоиться о том, какой редактор используйте, потому что gvim всегда доступен. Я, вероятно, угробить NX клиент, потому что все, что мне нужно теперь может быть запущен непосредственно из командной строки и gui приложения работают так же, как родные приложения для windows.

26
задан derekswanson08
23.12.2022 10:03 Количество просмотров материала 2502
Распечатать страницу

2 ответа

DISPLAY переменная устанавливается, когда используется X11 (графический) дисплей. При использовании telnet, DISPLAY не будет определено.

похоже, вы используете csh дериватив, который я действительно не знаю, но я думаю, что вы могли бы добавить что-то вроде этого к своему .tcshrc файл:

if ($DISPLAY) then
    setenv CSCOPE_EDITOR gvim
    setenv EDITOR gvim
else
    setenv CSCOPE_EDITOR vim
    setenv EDITOR vim
endif
2
отвечен Kurt Stutsman 2022-12-24 17:51

просто всегда используйте "gvim"или" vim-g". Он будет жаловаться, если дисплей X не доступен, но он по-прежнему будет запускать консольную версию.

1
отвечен Heptite 2022-12-24 20:08

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх