Mac OS X Terminal.app ve ekran / vim kaydırma güzel oynamak için nasıl?


13

OSX 10.6.3 Terminal.app

Ben oldukça özel bir ekran kullanıcısıyım. Terminal.app satır arabelleği ve / veya kaydırma benim için çalışmıyor gibi görünüyor. Yani ekrandayken çerçevenin üstünden geçen her şey gitti, geri kaydırılamıyor. Bu diğer terminal uygulamaları gnome, cygwin tamam çalışıyor gibi görünüyor. Belki de bu bir kabuk env, config veya komutudur?

.screenrc:

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

Burada farklı değerlerle defscrollback kullanmayı denedim, ancak bir etkisi yok.

bazı .bashrc ayarları:

set -o physical  
export TERM=xterm-color  
shopt -s checkwinsize  

Yanıtlar:


15

Lion'da varsayılan terminal türü farklıdır, bu nedenle .screenrcbunun yerine bu satırı kullanmalısınız:

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


Bu benim için işe yaramaz :( "echo $ TERM", "xterm-256color" döndürür, bu yüzden doğru terminal değeri olduğundan eminim, ancak sağladığım hiçbir değer etkili olmaz.
Tim Harper

15

Ana dizininize dosyaya .screenrcaşağıdaki metni girin:

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

Terminal.app için de çalışır.


2
Bunun Snow Leopard'da çalıştığını biliyorum, ancak OS X Lion'da çalışmıyor gibi görünüyor. Bummer :(
Tim Harper

1
Aradığım şey buydu - Terminal.app ile OS X Lion 10.7.3'te çalışmak - harika!
dossy

Ayrıca benim için OS X Lion 10.7.5'te çalışır (Not: Yanıtta hafif bir yazım hatası var; komutu depolamanız gereken dosya ~ / .screenrc, yani ana dizininizde adlı bir dosyada ".screenrc" - "screenrc" değil. Cevabı şimdi bunu yansıtacak şekilde düzenledim.)
likethesky

8

Bence de daha evrensel olmalı:

termcapinfo xterm* ti@:te@

Bu evan daha evrensel olurdu. Yasal:

termcapinfo * ti@:te@

Bu en iyi cevap imho.
Steve Bennett

3

Eski iş parçacığı ben fark, ama ne için değer:

Mac OS X Mountain Lion 10.8.2'de doğru yapılandırılmış bir iTerm2 kullanılıyorsa, yukarıdaki Gareth'in yararlı önerisine göre bir .screenrc dosyası oluşturmanız / düzenlemeniz gerekli değildir.

  1. İTerm2-1_0_0_20120726'yı yükleyin

  2. İTerm2> Profil menüsü> Profilleri Aç> Varsayılan> Profili Düzenle> Terminal sekmesi> ON'u aç'ı seçin:

    • Uygulama durum çubuğu varken satırları kaydırma yapmak için kaydet
    • Sınırsız kaydırma (isteğe bağlı)
  3. İTerm 2'yi yeniden başlatın (veya yeni bir kabuk başlatın)

  4. Test: Şahsen ben SSH'd Ubuntu için 12.04.1 LTS AWS EC2> byobu başlattı (varsayılan tmux yerine ekranı kullanmak için zaten yapılandırılmış)> Kaydırma şimdi iyi çalışıyor (artı, yine de Terminal'den iTerm'in mo bettah ..)

-dk


Bu harika!!
HaxElit

@David Keenan Bu çözümü paylaştığınız için çok mutluyum!
ivan

2

Kısa cevap:

crtl-a+ Yazın [ve kaydırma / ok tuşlarınızı veya pgup/ tuşlarını kullanın pgdwn. "Kaydırma modundan" (gerçek ad değil) çıkmak için,Esc

Uzun cevap: Bu makale ekranın geri kaydırma arabelleği hakkında.


lütfen aşağı oylama hakkında yorum yapın.
lajuette

Bu yöntemin çalışan işlemi duraklattığı görülmektedir. Hangisi istenebilir veya istenmeyebilir
cavalcade

1

GNU ekranının geri kaydırma özelliğini toplamak ve çalışmak için Terminal'in kaydırma arabelleğini almanın mümkün olup olmadığını bilmiyorum.

Ekranın içindeki kaydırma hakkında daha fazla bilgi edinmenizi öneririz. Birkaç yeni tuş kombinasyonu öğrenmeniz gerekecek - zaten ekranı kullandığınızdan, sizi korkutacağından şüpheliyim.

Google'dan biraz yardım alarak Scrollback Buffer ile Çalışma adlı bir blog yazısı buldum .

Scrollback'in Terminal.app'ın buffer'ına entegre olmasını beklemiyordum. Bir sanal ekrandan diğerine geçerseniz, Terminal arabelleğine ne olur? Bir makineyle olan bağlantısını keserseniz ve üç saat sonra yeniden bağlanırsanız, Terminal arabelleğinizin senkronizasyonu çok uzun sürmez.

screenbaşka bir sunucuya açılan küçük pencerem. Bu ekranın geri kaydırma arabelleğinin oturumla devam etmesini seviyorum, böylece bağlandığım yerden ona erişebiliyorum. Oturumumdaki her ekranın kendi geri kaydırma arabelleği olmasını seviyorum.

Bence bunu gnome ve cygwin'de buldunuz çünkü screenxterm'in 'alternatif ekran' işlevselliğini kullanıyor. Bu ekran hakkında SSS sayfasında ilk soruda bununla ilgili daha fazla tartışma var .


teşekkürler, harika bilgi. evet, kopyalama modu çok vim benzeri, sevdim. :)
rustychains

1

Kullandığım iTerm 2 . Profiller> terminal altında aşağıdakileri belirten bir seçenek vardır: "Bir uygulama durum çubuğu varken satırları geri kaydırmak için kaydet". Bunu koyarak:

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

benim için hile yaptı. Kaydırma!


0

Terminal menüsüne gidip Tercihler ... 'i seçerseniz, alttaki pencere sekmesine tıklayın. Kaydırma için seçenekler var, Sınırsız radyo düğmesi seçili mi?


sınırsız seçilir
rustychains

0

Bunun eski bir konu olduğunu ve yeterince cevaplandığını anlıyorum, ancak itibarım sadece uygun cevap hakkında yorum yapmak için yeterince yüksek değil. Bu cevabın damarında , çevre değişkenini rc dosyasına yapıştırabilirsiniz:

termcapinfo $TERM ti@:te@benim için yaptım. Başvurulan cevap gibi ama joker karakterler yok.


0

Benim durumumda, Mac Terminal.app ile ilgili sorun, varsayılan terminal profilimin terminali olarak bildirmemesiydi xterm-256color. Profil ayarlarımın "Gelişmiş" sekmesinin "Terminfo" başlığı altında "Terminali bildir" değerinin değiştirilmesi sorunu düzeltti.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.