Невозможно эффективно использовать Screen в терминале Mac

StackOverflow https://stackoverflow.com/questions/810025

  •  03-07-2019
  •  | 
  •  

Вопрос

В сообщении суммируются проблемы с использованием Screen в терминале Mac, когда в вашем .zshrc есть следующее:

if [[ $STY = '' ]] then screen -xR; fi 
  1. Решение №1 не работает, но Решение №2 работает: Программы буфера обмена:pbcopy, pbpaste и xsel вообще не работают
  2. Ошибка в Vim при использовании на Mac: Невозможно иметь разрозненные окна в Screen от .Xresources.
  3. Решено: Ctrl A перестает работать в терминале.Это подсказывает мне, что привязки клавиатуры Screen необходимо немного изменить.
  4. Решено: Прокрутка с помощью тачпада не работает.При редактировании вашего .screenrc обратная прокрутка работает нормально (включая сенсорную панель).
  5. Решено:Невозможно использовать сочетания клавиш Дворжака для экрана для перемещения в моде прокрутки.
  6. Как вы можете использовать pbcopy/pbpaste/xsel внутри Screen?
Это было полезно?

Решение

Обычно я решаю Ctrl-а проблема, установив для моего escape-символа значение Ctrl-я (который вам обычно не нужно использовать так часто, когда вы запускаете screen, поскольку вместо фонового процесса вы можете просто запустить новый экран).В моем .screenrc:

escape ^Zz

Прокрутка с помощью тачпада просто не будет работать;screen действует как эмулятор терминала внутри эмулятора терминала, и screen просто не может переключать буфер обратной прокрутки в Terminal.app каждый раз, когда вы переключаетесь между экранами.Вам придется использовать функции обратной прокрутки экрана.Видеть Эта статья несколько советов по использованию функций обратной прокрутки экрана.

Другие советы

В screenrc:

# Make xterm scrolling work properly with screen.
termcapinfo xterm-256color|xterm-color|xterm|xterms|xs|rxvt ti@:te@

Работает и для Terminal.app.

Приложение OS X Terminal по умолчанию слабое.Вместо этого получите iTerm:

iTerm

Если я не ошибаюсь, iTerm решает все эти проблемы «из коробки» (моей установке уже пару лет, поэтому сейчас я не могу проверить эту теорию).

Проблема №3 может быть решена, если вы включите альтернативный экранный буфер.Использовать altscreen on в .screenrc

Решение №1, которое не работает

Чтобы иметь возможность копировать/вставлять в OSX, поместите следующее в свой .screenrc

bind b eval "writebuf" "exec sh -c 'pbcopy < /tmp/screen-exchange'"

> Строка Th[e] - - отправляет этот файл в pbcopy - -.

Команда привязана к C-a b (в моем случае C-z b).

Решение № 2, которое работает, но печатается довольно медленно.

Используйте режим прокрутки, т.е.режим копирования

справиться

C-A [

Вставка

C-A ]

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

Вопрос 5:Невозможный:Прокрутка с помощью сенсорной панели не работает.

Вы можете использовать ^A Esc для прокрутки экрана вверх.Вы не можете использовать сенсорную панель на экране.

Это решает проблему обратной прокрутки, хотя это несколько некорректно, поскольку не учитывает буферы экрана.env TERM=vt100 screen

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top