Почему энергия не открывает на своем собственном экране?

В комментарии к GitHub кто-то говорит, что они использовали zsh 4.3.10 от CentOS. Я сделал то же, с помощью src.rpm от CentOS 6. Об/мин созданный штраф без модификаций необходим. Вот RPMs, источник, debuginfo, и HTML, RPMs находятся в том же каталоге при необходимости в них:

Я создал об/мин с помощью насмешки.

2
08.01.2014, 04:10
3 ответа

ОБНОВЛЕНИЕ: По-видимому, я полностью неправильно читал вопрос, и ответ ниже является неправильным. Однако некоторые комментарии к этому ответу разъясняют вопрос, таким образом, я оставляю его.

vim "терминальная программа". Таким образом, это не знает ничего из X-окон или любого другого графического интерфейса. Если Вы работаете vim путем ввода vim в xterm это будет счастливо работать туда. Xterm имеет дисплей character-cell-addressable, таким образом, vim будет работать с этим.

Вы могли добраться vim работать в его собственном xterm: xterm -e vim whatever.file.name &.

Или Вы могли выполнить вариант vim это понимает X-оконную систему: gvim. Когда я ввожу gvim text.file.name в xterm и выполненный это, я получаю отдельное окно, содержащее версию GUI vim.

0
27.01.2020, 22:22
  • 1
    Насколько я могу сказать, что вопрос об отказе работать на альтернативном экране, а не чем-либо о X-окнах. –  Chris Down 08.01.2014, 04:33
  • 2
    @ChrisDown Правильно, я хочу, чтобы это работало в терминале, как обычно. То, что является озадачивающим меня, - то, что это не вело себя так же как это вчера. Сегодня, единственная вещь, которую я сделал, состоит в том, чтобы переместиться по файловой системе, пытающейся открыть некоторых .txt файлы тут и там, но ничто иное. Я ничего не коснулся. –  Carlos Diaz 08.01.2014, 04:47

После того как я понял вопрос, я узнал возможный ответ, потому что я заметил что изменение в поведении некоторое время назад.

Я полагаю, что это прибывает из различия в "terminfo" возможностях между xterm и xterm-256color. Vim использует ncurses, чтобы сделать символьное управление в окне, и "terminfo" является частью этого. Учитывая, что, Вы могли посмотреть на даты (ctime, вероятно) terminfo файлов возможности, данных ниже. Это объяснило бы, почему Вы ничего не сделали, но все еще видели, что изменение - terminfo файлы было изменено.

Я нашел terminfo файлы для xterm и xterm-256color в /usr/share/terminfo/x/xterm и /usr/share/terminfo/xterm-256color, соответственно. Это - двоичные файлы, но можно декомпилировать их с: infocmp -L /usr/share/terminfo/x/xterm > ~/xterm.ti. Можно перекомпилировать xterm.ti текстовый файл с tic команда. Я полагаю, что то, о чем Вы говорите, связано с "enter_ca_mode" и "exit_ca_mode" возможностями. Для тестирования этого я сделал альтернативу xterm terminfo запись для меня:

mkdir ~/.TERMINFO
infocmp -L /usr/share/terminfo/x/xterm > ~/xterm.ti
// edit termifo.ti to remove enter_ca_mode" and "exit_ca_mode"
tic ~/xterm.ti

Это оставляет файл ~/.TERMINFO/x/xterm в моем каталоге $HOME. ТЕРМИН переменной среды имел значение "xterm" в том xterm-окне. Разжигание vim снова вызванный vim вести себя примерно, поскольку Вы описываете новое, нежелательное поведение. Необходимо будет, вероятно, удалить ~/.TERMINFO и содержание для избавлений от этого изменило xterm эффекты файла возможностей.

Моя мысль состояла бы в том, чтобы декомпилировать xterm и xterm-256color terminfo использование записей infocmp -L и посмотрите, есть ли у них различные значения "enter_ca_mode" и "exit_ca_mode", или если xterm пропускает его, и xterm-256color имеет его, или что-то. Затем продолжите двигаться оттуда. Если это имеет значение на моем актуальном Arch ноутбук Linux, xterm и xterm-256color имели почти идентичные termcap возможности.

0
27.01.2020, 22:22

Вопрос заключается в поведении приложения по сравнению с функцией альтернативного экрана xterm.

vim - это приложение termcap. Он использует базу данных терминала (возможно, предоставленную ncurses), но выполняет все свое собственное управление экраном (как и любое другое приложение termcap).

По соглашению, приложения termcap и curses отправляют управляющие последовательности при инициализации и при возврате из полноэкранного режима.Эти escape-последовательности происходят из возможностей терминала (происхождение названия «termcap»).

Возможности для запуска и завершения полноэкранного режима адресации курсора называются smcup и rmcup соответственно (в terminfo, а ti и te для termcap). По соглашению, те могут иметь escape-последовательности для переключения на / из альтернативного экрана. Пока активен альтернативный экран, xterm запрещает прокрутку.

Однако соглашение не гарантирует, что все описания терминалов для xterm одинаковы. Некоторые разработчики пакетов изменяют описание, потому что

  • примерно половине пользователей эта функция нравится, половине она не нравится (каждая половина настаивает, что это большинство), а
  • не все терминалы настраиваются так же, как xterm.

    В xterm вы можете разрешить / запретить переключение на альтернативный экран и обратно. меньшинство других терминалов, которые устанавливают TERM = xterm , позволяют вам это делать. Отсутствие возможности настройки раздражает половину пользователей, которым эта функция не нравится.

В зависимости от того, какой упаковщик вносил изменения, вы можете обнаружить, что TERM = xterm выполняет одно действие с альтернативным экраном, а TERM = xterm-256color - другое.Если вы используете infocmp для просмотра, в немодифицированном описании будут установлены следующие возможности, чтобы указать приложению, как использовать альтернативный экран:

rmcup=\E[?1049l, smcup=\E[?1049h, 

Дополнительная литература:

1
27.01.2020, 22:22

Теги

Похожие вопросы