Як отримати 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  

Відповіді:


15

У Lion тип терміналу за замовчуванням відрізняється, тому ви повинні використовувати цю лінію у вашому .screenrc замість цього:

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


Це не працює для мене :( "echo $ TERM" повертає "xterm-256color", так що я впевнений, що це правильне значення терміналу, але ніяке значення я не надаю.
Tim Harper

Це так працює на Йосеміті. Дякую!
Steven Kramer

15

У вашому домашньому каталозі помістіть файл .screenrc наступний текст:

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

Працює для Terminal.app теж.


2
Я знаю, що це працювало в Snow Leopard, але не працює в OS X Lion. Bummer :(
Tim Harper

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@

Це найкраща відповідь imho.
Steve Bennett

3

Стару нитку я розумію, але для чого варто:

Якщо ви використовуєте правильно налаштований iTerm2 на Mac OS X Mountain Lion 10.8.2, здається, що не потрібно створювати / редагувати файл .screenrc, згідно з корисним пропозицією Гарета вище.

  1. Встановіть iTerm2-1_0_0_20120726

  2. Запуск iTerm2 & gt; Меню профілю & gt; Відкрити профілі & gt; виберіть Default & gt; Редагувати профіль & gt; Вкладка терміналу & gt; Увімкніть:

    • Зберегти рядки для прокрутки, коли є смужка стану програми
    • Необмежений прокручування (необов'язково)
  3. Перезапустіть iTerm 2 (або запустіть нову оболонку)

  4. Перевірте: особисто я SSH'd до Ubuntu 12.04.1 LTS на AWS EC2 & gt; почав byobu (вже налаштований на використання екрану, а не за замовчуванням tmux) & gt; Scrollback працює нормально (плюс, iTerm's bettah, ніж Terminal так чи інакше ..)

-dk


Це чудово!!
HaxElit

@David Keenan Так раді, що ви розмістили це рішення!
ivan

2

Коротка відповідь:

Тип ctrl-a + [ і використовуйте клавіші прокручування / стрілки або pgup / pgdwn . Щоб вийти з режиму прокрутки (не фактичне ім'я), натисніть вихід

Довга відповідь: Це Ця стаття про буфер прокручування екрану.


прохання прокоментувати голосування.
lajuette

Зауважте, що цей метод призупиняє запущений процес. Що може або не може бути бажаним
cavalcade

1

Я не знаю, чи можна отримати буфер прокручування терміналу для збору та роботи з переглядом екрану gnu.

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

З невеликою допомогою Google , Я знайшов назву блогу Робота з буфером Scrollback .

Я дійсно не очікував, що прокрутка коли-небудь інтегрується з буфером Terminal.app. Якщо ви переходите з одного віртуального екрана на інший, що відбувається з буфером терміналу? Якщо ви від'єднаєтесь від однієї машини та знову з'єднаєтеся через три години, ваш буфер терміналу не буде синхронізований.

screen - це моє маленьке вікно в інший сервер. Мені подобається, що буфер прокрутки екрана зберігається з сеансом, так що я маю доступ до нього, звідки б я не підключився. Мені подобається, що кожен екран у моєму сеансі має свій власний буфер прокручування.

Я думаю, ви знайшли цю роботу в gnome і cygwin, тому що screen використовує функцію "альтернативного екрана" xterm. Про це йдеться в першому питанні цей екран faq стор.


спасибі, відмінна інформація. так, режим копіювання дуже схожий на vim, мені подобається. :)
rustychains

1

я використовую iTerm 2 . У терміналі профілю & gt; є опція, в якій зазначено: "Зберегти рядки для прокрутки, коли є смужка стану програми". Що і покласти:

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

в screenrc зробив трюк для мене. Прокрутка!


0

Якщо ви перейдете до меню Термінал і оберіть пункт Налаштування ..., то клацніть на вкладці вікна, розташованої внизу, для опцій Scrollback, чи вибрано перемикач для Unlimited?


вибирається необмежений
rustychains

0

Я розумію, що це старий потік і на нього адекватно відповіли, але моя репутація не достатньо висока, щоб просто прокоментувати відповідну відповідь. У жилах Росії це відповідь , ви можете просто вставити змінну середовища у файл rc:

termcapinfo $TERM ti@:te@ зробив це для мене. Це схоже на відповідь, на який посилаються, але не на шаблони.


0

У моєму випадку, проблема з Mac Terminal.app полягала в тому, що мій профіль терміналу за замовчуванням не оголошував термінал як xterm-256color. Змінивши значення на "Оголосити термінал як" під заголовком "Terminfo" на вкладці "Додатково" в моїх налаштуваннях профілю, вирішили проблему.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.