İTerm2'de "geçmişi kaydırmayı" nasıl kapatabilirim


290

Yeni iTerm 2'yi yükledim. Bir fare özelliğini etkinleştirmek isteyip istemediğimi üstteki sarı bir çubukta sordu. Ne yazık ki artık kesin cümleyi hatırlamıyorum.

Kazara onayladım. Şimdi farede iTerm'de kaydırma tekerleğini kullandığımda, artık yukarı kaydırmıyor ama bunun yerine komut geçmişini tetikliyor. Sanki yukarı imleci basmam gibi.

Bunu tekrar kapatmak için doğru ayarları bulamadım. Bu seçeneği nerede değiştirebileceğimi bilen var mı?

Yardım için teşekkürler!


3
İTerm2.9'u kullandığınızı ve gördüğünüz mesajın "Kaydırma tekerleğinin bu gibi etkileşimli programlarda imleci hareket ettirmesini istiyor musunuz?" Olduğunu varsayıyorum. Ancak geçiş yapmak için bir arayüz bulamıyorum sorun?
sel-balık

1
Evet ama yalnızca ssh aracılığıyla bir sunucuya giriş yaptığımda. Bunun nasıl bağlanabileceğini bilmiyorum.
Gambo

"sadece bir sunucuya ssh üzerinden giriş yaptığımda", iTerm2'yi yerel işlemler için kullandığınızda bunun olmayacağını mı söylüyorsunuz? 'Ssh aracılığıyla bir sunucuya giriş yaptığınızda farklı bir' profil 'kullanıyor musunuz?
sel-fish

Alternatif Ekranı açmak ve kapatmak için bir terminal kontrol karakteri gönderilmelidir. Kontrol karakterinin ne olduğunu öğrenmenin daha uzun vadeli (iTerm2 veya vim veya daha azına özgü değil) daha iyi olduğunu düşünüyorum. Olabilir ESC [ ? 1 0 4 9 lveya ESC [ ? 1 0 4 7 lveya ESC [ ? 47 l( gnu.org/software/screen/manual/html_node/Control-Sequences.html )
dlamblin

2
bu sadece benim için rastgele olmaya başladı .. günlükleri bakmak için çalışırken sinir bozucu
SgtPooki

Yanıtlar:


493

İTerm2 dahil birkaç terminaller, tam ekran gibi bir program zaman tekerlek fare davranışını değiştirmek bir özelliği var vi, ya screenveya tmuxçalışıyor. Bu , yararlı bir işlev sağlamak için bu programlar alternatif ekranı kullandığında olur . Normalde, iTerm2'de alternatif ekranı kullanırken, fare tekerleği kaydırma çubuğu gibi davranır ve tüm ekranı yukarı / aşağı kaydırır. Ancak bu özellik etkinleştirildiğinde, iTerm2 imleç yukarı / aşağı tuşları göndererek komut geçmişinizi değiştirir.

Başka bir yorumda önerildiği gibi Tercihler menüsünü seçin:

resim açıklamasını buraya girin

ve içinde Gelişmiş sekmesini seçin . Fare bölümüne ilerleyin ,

resim açıklamasını buraya girin

ve girişini

Kaydırma tekerleği, alternatif ekran modundayken ok tuşlarını gönderir

dan Evet için No . Değişikliğin etkili olması için iTerm2'yi yeniden başlatmanız gerekecek. (İTerm2 v3.1.5 ile değişiklikler yeniden başlatılmadan geçerli olur.)


2
Yorum yazmadan önce test ettim - sadece seçeneği değiştirmek yeterli değildi.
Thomas Dickey

Sürüme bağlı olabilir. 3.0.2'de geçiş yapmak kesinlikle yeterlidir. Aslında, alternatif ekran modundaysanız ve bu ayar kapalıysa ve fare ile kaydırmaya çalışırsanız ve daha sonra yukarı veya aşağı ok tuşuna basarsanız, bu özelliği ekranın sağ tarafında açmanız istenir. terminal penceresi.
George

3
Bunun yürürlüğe girmesi için 3.0.12'nin yeniden başlatılması gerekmez.
dhempler

21
//, bu özelliği beğendim ve Vim'de kullanıyorum. Belirli bir terminal penceresindeki alternatif ekran modundan nasıl çıkabilirim ? GÜNCELLEME: Alternatif ekran modundaki terminalde, alternatif ekran modunu etkinleştiren bir terminal programı açın. Bu programdan temiz bir şekilde çıkın. Bu geçici olarak sorunu sonlandırır. Bu, sorunun Alternatif Ekran özelliğini alışılmadık bir şekilde kullanan bir programdan çıkılmasından kaynaklandığını düşünüyorum.
Nathan Basanese

6
Efendim, beni saf delilikten kurtardınız.
BK

60

Kaydırma geçmişi modunda tuzak kuruyorsanız, vi çalıştırarak ve doğrudan çıkarak kaçabilirsiniz . Alternatif ekranı kullanan başka bir program da seçebilir ve doğrudan çıkabilirsiniz.

Tarihin fare tekerleğiyle kaydırılması teorik olarak asla gerçekleşmemelidir. Pratikte olur, çünkü bazen alternatif ekran modu doğru bir şekilde geri döndürülmez. Kabul edilen cevap, kullanışlı bir özelliği devre dışı bırakarak, yani fare tekerleği veya izleme dörtgeni ile vi, daha az, ... şeklinde kaydırma yaparak sorunu çözer. Seçeneği gelişmiş tercihlerden koruyabilirsiniz:

Kaydırma tekerleği, alternatif ekran modundayken ok tuşlarını gönderir

evet olarak ayarlayın. Bazen kaydırma geçmişi modunda tuzağa düşersiniz. Ancak nasıl kaçacağınızı biliyorsanız, bu bir sorun değildir.


2
Tavsiye için teşekkürler! Bu bana yardımcı oldu :)
jj172

1
Teşekkürler dostum! Ama vi'ya girmek ve çıkmak benim durumumda herhangi bir nedenden dolayı yardımcı olmadı, ancak bir man sayfasına girdikten ve q'ya basarak çıktıktan sonra çalıştı
Frax

1
Bu çok yardımcı oldu. Kaydırma, pencereyi kaydırmak yerine ani bir ekleme [[A^ve [[B^komut satırına yapıldı. Bunun normal bir davranış olmadığını biliyordum. Bundan önce bilgisayarı nanodizüstü bilgisayarımı kapattığımda bağlantısı kesilen bir SSH kabuğunda bırakmıştım . Bu ani çıkış açıkça suçluydu. İTerm2'de yeni bir sekme açmak bunu düzeltti.
Colin Marshall

Maalesef kullanırken screenalternatif ekran modundan çıkmak için bu numarayı kullanamazsınız. Bu yüzden screençok fazla kullanıyorsanız (benim gibi), bu özelliği tamamen devre dışı bırakmak hayat kurtarıcıdır.
mvreijn

Bu cevabı tercih ederim, çünkü izleme paneli ile tam ekran uygulamalarda gezinmek çok yararlıdır, bu nedenle tercihlerdeki özelliği devre dışı bırakmak benim için iyi bir seçenek değildi :) Bu ipucu paylaşmak için teşekkürler :)
Patrick Ferreira

42

Muhtemelen sadece alternatif konsoldan çıkmanız gerekir.

Deneyin: tput rmcup


1
Great answer A + 💯
dps

Çok daha iyi cevap - bu, vim'deyken kaydırmaya devam ederken geçmişi kaydırmanıza izin verir. Teşekkürler!
JonLuca

10

Tercihler: Gelişmiş: Fare: Kaydırma tekerleği, alternatif moddayken ok tuşlarını gönderir


2
Ben de aynı sorunu açıklanıyorum, ama en yeni iTerm Mouse Tercihler: Gelişmiş altında değildir. Sadece tetikleyiciler, akıllı seçim ve anlamsal geçmiş. Bunu düzeltmek için başka bir yol bilen var mı?
mikeLspohn

9

İTerm2 ile, tekerleğin vim içinde çalışmaya devam etmesini istiyorsanız, kaydırma tekerleğini pencere kaydırmaya zorlamak için Option'ı basılı tutabilirsiniz.


Bu işe yarıyor, ama seçenek tuşunu tutmak zorunda olmadığımda ayrıntılara nasıl geri döneceğim
meso_2600

2

Gördüğünüz davranış, alternatif ekranda beklenen (ve doğru) davranıştır. Sahip olduğunuz tek sorun, muhtemelen bir bağlantıyı kaybederken veya öldürülen bir vim veya daha azından alternatif ekrana bash veya her neyse düştünüz. EG içindeydin less +F /var/log/somethingve bağlantın kesildi.

Birisinin tput rmcupkomutun ana ekrana çıkacağını zaten yazdığını görüyorsunuz .

Ayrıca devam ettim ve bazı terminal kontrol karakterlerine baktım. Şunlardan herhangi biri olabilir: ESC [ ? 1 0 4 9 lveya ESC [ ? 1 0 4 7 lveya ESC [ ? 47 l(gnu.org/software/screen/manual/html_node/Control-Sequences.html) birincisi tercih edilir.

Genellikle iTerm2'de başarılıyım, echo -e '\e[?1049l'aslında rmcuphatırlanması daha kolay bir konsol bulamıyorum .


1

Aynı sorunu yaşıyordum ve okuduğum ve denediğim çözümlerin hiçbiri işe yaramadı. Sorunum Sabit Güvenlik Girişini kapatmaktı ve şimdi fareyi ssh ve macOS 10.13'teki terminal modunda kaydırmak için kullandığımda da beklediğim gibi çalışıyor!

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.