Как получить Mac OS X Terminal.app и прокрутку экрана / vim для хорошей игры?

13

OSX 10.6.3 Terminal.app

Я довольно преданный пользователь экрана. Буфер строки Terminal.app и / или прокрутка у меня не работают. То есть, когда на экране все, что проходит за верхнюю часть кадра, исчезло, невозможно прокрутить назад. Кажется, это работает нормально в других терминальных приложениях gnome, cygwin. Возможно, это оболочка env, config или команда?

.screenrc:

startup_message off  
autodetach on  
shell -$SHELL  
vbell off  
defutf8 on  
caption always  
caption string "%{= wk}%w"  

Я попытался использовать здесь defscrollback с другими значениями, но не имеет никакого эффекта.

некоторые настройки .bashrc:

set -o physical  
export TERM=xterm-color  
shopt -s checkwinsize  
rustychains
источник

Ответы:

15

В Lion тип терминала по умолчанию отличается, поэтому вы должны использовать эту строку .screenrcвместо:

termcapinfo xterm-256color|xterm-color|xterm|xterms|xs|rxvt ti@:te@

косвенный
источник
Это не работает для меня :( "echo $ TERM" возвращает "xterm-256color", поэтому я уверен, что это правильное значение терминала, но никакое значение, которое я предоставляю, не вступает в силу.
Тим Харпер
15

В вашем домашнем каталоге поместите в файл .screenrcследующий текст:

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

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

DMW
источник
2
Я знаю, что это работало в Snow Leopard, но, похоже, не работает в OS X Lion. Облом :(
Тим Харпер
1
Это было именно то, что я искал - работать для меня в OS X Lion 10.7.3 с Terminal.app - потрясающе!
Dossy
Также работает для меня в OS X Lion 10.7.5 (Примечание: в ответе есть небольшая опечатка; файл, в котором нужно сохранить команду, это ~ / .screenrc, то есть в вашем домашнем каталоге, в файле с именем ".screenrc" - не "screenrc". Я отредактировал ответ, чтобы отразить это.)
likethesky
8

Я думаю, что это должно работать, даже более универсально:

termcapinfo xterm* ti@:te@

Это было бы более универсальным. Это законно:

termcapinfo * ti@:te@
AB
источник
Это лучший ответ imho.
Стив Беннетт
3

Старый поток я понимаю, но для чего это стоит

При использовании правильно настроенного iTerm2 в Mac OS X Mountain Lion 10.8.2, кажется, нет необходимости также создавать / редактировать файл .screenrc, как указано в полезном предложении Гарета выше.

  1. Установите iTerm2-1_0_0_20120726

  2. Запустите iTerm2> меню «Профиль»> «Открыть профили»> выберите «По умолчанию»> «Редактировать профиль»> вкладку «Терминал»> установите флажок «ВКЛ .:»

    • Сохранить строки для прокрутки при наличии строки состояния приложения
    • Неограниченный прокрутка (необязательно)
  3. Перезапустите iTerm 2 (или запустите новую оболочку)

  4. Проверьте это: лично я SSH'd для Ubuntu 12.04.1 LTS на AWS EC2> запустил byobu (уже сконфигурирован для использования экрана, а не tmux по умолчанию)> Прокрутка теперь работает нормально (плюс, во всяком случае, iTerm лучше, чем Terminal ..)

-dk

Дэвид Кинан
источник
Это удивительно!!
HaxElit
@ Дэвид Кинан Так рад, что вы опубликовали это решение!
Иван
2

Короткий ответ:

Введите crtl-a+ [и используйте клавиши прокрутки / стрелки или pgup/ pgdwn. Чтобы выйти из «режима прокрутки» (не фактического имени), нажмитеEsc

Длинный ответ: эта статья о буфере прокрутки экрана.

lajuette
источник
Прокомментируйте, пожалуйста, голосование против.
Ладжетт
Обратите внимание, что этот метод приостанавливает запущенный процесс. Который может или не может быть желательным
кавалькада
1

Я не знаю, возможно ли получить буфер прокрутки терминала для сбора и работы с прокруткой экрана GNU.

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

С небольшой помощью Google я нашел пост в блоге « Работа с буфером прокрутки» .

Я действительно не ожидал, что прокрутка когда-нибудь интегрируется с буфером Terminal.app. Если вы переключаетесь с одного виртуального экрана на другой, что происходит с буфером терминала? Если вы отключитесь от одного компьютера и подключитесь через три часа, ваш буфер терминала будет долго не синхронизирован.

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

Я думаю, вы обнаружили, что это работает в gnome и cygwin, потому что screenиспользует функциональность xterm «альтернативный экран». Там больше обсуждения этого в первом вопросе на этой странице часто задаваемых вопросов экрана .

Даг Харрис
источник
спасибо, отличная информация да, режим копирования очень похож на vim, мне нравится. :)
rustychains
1

Я использую iTerm 2 . Под профилями> терминал есть опция, которая гласит: «Сохранить строки для прокрутки при наличии строки состояния приложения». Вот и выкладываю:

defutf8 on
termcapinfo xterm-color|xterm|xterms|xs|rxvt ti@:te@

в screenrc сделал свое дело для меня. Скроллинг!

Runar
источник
0

Если вы перейдете в меню «Терминал» и выберите «Настройки» ... а затем нажмите на вкладку окна внизу, где есть опции для прокрутки, выбран ли переключатель «Неограниченно»?

отметка
источник
выбрано неограниченное количество
rustychains
0

Я понимаю, что это старая ветка, и на нее адекватно ответили, но моя репутация недостаточно высока, чтобы просто комментировать соответствующий ответ. В духе этого ответа вы можете просто вставить переменную окружения в rcfile:

termcapinfo $TERM ti@:te@сделал это для меня. Это как ссылочный ответ, но без подстановочных знаков.

Канатзитис
источник
0

В моем случае проблема с Mac Terminal.app заключалась в том, что мой профиль терминала по умолчанию не объявлял терминал как xterm-256color. Изменение значения в «Объявить терминал как» под заголовком «Terminfo» вкладки «Дополнительно» настроек моего профиля устранило проблему.

wachr
источник