Терминал Gnome, `less` открывает файл в позиции курсора, а не в верхней части терминала
Если я пытаюсь открыть файл с less
его содержимое начинается с позиции курсора, а не с верхней части экрана.
,
Это происходит только в gnome-Terminal, например, в Terminator все в порядке. Как я могу это исправить?
2 ответа
Как упомянуто egmont, less
должен иметь возможность позиционировать курсор, и действительно есть способ сделать это. В соответствии с less
справочная страница:
Опции также берутся из переменной окружения "LESS". Например, чтобы избежать ввода "less -options ..." каждый раз, когда вызывается less, вы можете сказать csh:
setenv LESS "-опции"
или если вы используете sh:
LESS = "- варианты"; экспорт LESS
Итак, чтобы less
перерисовать экран с курсором вверху, сделать
echo 'LESS="-c"; export LESS' >> ~/.bashrc
-c
опция, которая означает "очистить экран", будет добавлена к каждому less
автоматически и даже будет работать в TTY, очищая экран и перемещая курсор
gnome-terminal
а также terminator
оба полагаются на vte
виджет для эмуляции терминала, хотя terminator
использует древний (на основе gtk2). Точнее, terminator
использования vte
версия 0.28.2 (как в Ubuntu 14.04, так и в 16.06), тогда как gnome-terminal
использования vte
версия 0.34.9 в Ubuntu 14.04 и 0.42.5 в Ubuntu 16.04.
Как и в большинстве программ, более новые версии должны быть более стабильными и функциональными и содержать меньше ошибок (хотя наверняка время от времени могут появляться новые ошибки, регрессии, изменения, которые не нравятся людям и т. Д.). vte
действительно получил огромное количество изменений (исправлений) за последние 3 года, включая этот.
vte
стремится использовать xterm
в качестве ссылки на поведение эмуляции (если только он не видит веских причин для расхождения, что случается очень редко). В этом случае мы не видели причин расхождения (и, вероятно, у нас был действительный отчет об ошибке vte
работает не так, как ожидалось положение курсора при переключении на альтернативный экран), поэтому мы исправили vte
вести себя как xterm
,
Другими словами, Ubuntu 14.04 gnome-terminal
и 14.04 и 16.04 terminator
были сломаны, предполагая, что мы принимаем, что правильное поведение определяется xterm
, terminator
далеко позади с vte
версия и получит это исправление (вместе со многими другими), когда они наконец выпустят версию для gtk3.
Я понимаю, что вам не нравится новое поведение less
(на самом деле мне это тоже не нравится, и я предпочитаю, как это случайно работало со старшими vte
), однако, было бы абсолютно неверным подходом к преднамеренному vte
добиться предыдущего поведения. Вместо less
должен иметь возможность позиционировать курсор в верхней части экрана. Если текущее поведение действительно беспокоит вас, я рекомендую вам отправить запрос об ошибке / функцию против less
,