Как отключить альтернативный буфер в самом экране GNU, но не для vim, а меньше в нем?

10

Чего я хотел бы добиться, так это прокручивать колесико мыши, к чему я привык в обычной сессии ssh. В командной строке bash мышь должна прокручивать вывод моего терминала, а внутри less / vim - альтернативный буфер, который они используют, чтобы при выходе ничего не оставалось из текста, показанного внутри less. Если я отключу альтернативные возможности буфера в .screenrc, вот так:

termcapinfo xterm ti@:te@

тогда он также отключен для vim / less, и прокрутка колесика мыши ими не будет обрабатываться. Включение эмуляции внутреннего альтернативного буфера экрана, например:

altscreen on

Помогает только в восстановлении вывода bash после выхода less / vim. Не в прокрутке колесика мыши внутри них.

Итак, есть ли какая-либо опция экрана, может быть, в некоторой экранной вилке / альтернативе, которая запрещает использование альтернативного буфера самим экраном?

dnlgl
источник
Вы нашли решение этой проблемы? Пожалуйста, отправьте! :)
tlund

Ответы:

1

Вы можете захотеть использовать tmux вместо экрана ( https://tmux.github.io ). В Tmux есть поддержка мыши xterm, поэтому вы можете использовать колесо прокрутки для прокрутки буфера без необходимости отключения альтернативных буферов.

Обратите внимание, что конфигурация по умолчанию в tmux использует ctrl-b в качестве префикса, но вы можете легко изменить его на ctrl-a, а также добавить экранные привязки, чтобы упростить его. Тонны примеров этого онлайн, такого как http://blog.obnox.de/tmux-with-screen-like-key-bindings/

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

Tmux также имеет ряд других преимуществ, особенно вертикальные разбиения (которые, я думаю, теперь наконец-то добавлены на экран) и возможность иметь много разделений (панелей) в одном окне.

ssgelm
источник