Bagaimana saya bisa mematikan "scrolling the history" di iTerm2

290

Saya telah menginstal iTerm 2. Baru. Ia meminta saya di bilah kuning di bagian atas jika saya ingin mengaktifkan fitur mouse. Sayangnya saya tidak ingat lagi kalimat yang tepat.

Secara tidak sengaja saya menyetujui. Sekarang ketika saya menggunakan roda gulir pada mouse di iTerm, itu tidak gulir ke atas lagi tetapi malah memicu sejarah perintah. Seperti jika saya akan menekan kursor ke atas.

Saya tidak dapat menemukan pengaturan yang tepat untuk mematikannya lagi. Adakah yang tahu di mana saya dapat mengaktifkan opsi ini?

Terima kasih sudah membantu!

Gambo
sumber
3
Saya berasumsi bahwa Anda menggunakan iTerm2.9, dan pesan yang Anda lihat adalah "Apakah Anda ingin roda gulir untuk memindahkan kursor dalam program interaktif seperti ini?". Namun saya tidak dapat menemukan antarmuka untuk beralih, apakah Anda masih memiliki masalah?
sel-fish
1
Ya tetapi hanya ketika saya masuk ke server melalui ssh. Saya tidak tahu bagaimana ini bisa terhubung.
Gambo
"hanya ketika saya masuk ke server melalui ssh", maksud Anda ketika Anda menggunakan iTerm2 untuk operasi lokal, itu tidak akan terjadi? Apakah Anda menggunakan 'profil' yang berbeda ketika 'masuk ke server melalui ssh'?
sel-fish
Harus ada karakter kontrol terminal yang dikirim untuk menghidupkan dan mematikan Layar Alternatif. Saya pikir lebih baik jangka panjang (tidak khusus untuk iTerm2 atau vim atau kurang) untuk mempelajari apa itu karakter kontrol. Itu bisa ESC [ ? 1 0 4 9 latau ESC [ ? 1 0 4 7 latau ESC [ ? 47 l( gnu.org/software/screen/manual/html_node/Control-Sequences.html )
dlamblin
2
ini baru saja mulai terjadi secara acak untuk saya .. membuat frustrasi ketika Anda mencoba untuk melihat log
SgtPooki

Jawaban:

493

Beberapa terminal, termasuk iTerm2, memiliki fitur di mana mereka mengubah perilaku mouse roda ketika program layar penuh seperti vi, screenatau tmuxsedang berjalan. Ini terjadi ketika program-program tersebut menggunakan layar alternatif , untuk menyediakan fungsi yang bermanfaat. Biasanya, saat menggunakan layar alternatif di iTerm2, mouse roda berfungsi seperti bilah gulir, menggulirkan seluruh layar ke atas / bawah. Tetapi ketika fitur ini diaktifkan, iTerm2 mengirimkan tombol kursor naik / turun, membuat sejarah perintah Anda berubah.

Seperti yang disarankan dalam komentar lain, pilih menu Preferensi :

masukkan deskripsi gambar di sini

dan di dalamnya, pilih tab Advanced . Gulir ke bawah ke bagian Mouse ,

masukkan deskripsi gambar di sini

dan alihkan entri untuk

Roda gulir mengirimkan tombol panah saat dalam mode layar alternatif

dari Ya ke Tidak . Anda harus me-restart iTerm2 agar perubahan diterapkan. (Dengan iTerm2 v3.1.5 perubahan berlaku tanpa memulai ulang.)

Thomas Dickey
sumber
2
Saya mengujinya sebelum menulis komentar - hanya mengaktifkan opsi tidak cukup.
Thomas Dickey
Mungkin tergantung pada versi. Di 3.0.2, toggling sudah pasti cukup. Bahkan, jika Anda berada dalam mode layar alternatif dan pengaturan ini tidak aktif dan Anda mencoba (dan gagal) untuk menggulir dengan mouse dan kemudian menekan tombol panah atas atau bawah, Anda akan diminta untuk mengaktifkan fitur ini di kanan di jendela terminal.
George
3
3.0.12 tidak perlu dimulai ulang agar ini berlaku.
dhempler
21
//, aku suka fitur ini, dan menggunakannya di Vim. Bagaimana cara keluar dari mode layar alternatif di jendela terminal yang diberikan? PEMBARUAN: Di terminal yang berada dalam mode layar alternatif, buka program terminal yang mengaktifkan mode layar alternatif. Keluar dari program itu dengan bersih. Ini untuk sementara mengakhiri masalah. Saya pikir ini menunjukkan bahwa masalah disebabkan oleh keluar dari program yang menggunakan fitur Layar Alternatif dengan cara yang tidak biasa.
Nathan Basanese
6
Pak, Anda menyelamatkan saya dari kegilaan murni.
BK
60

Jika Anda terjebak dalam mode sejarah bergulir, Anda dapat melarikan diri dengan menjalankan vi dan keluar secara langsung. Anda juga dapat memilih program lain yang menggunakan layar alternatif dan keluar secara langsung.

Menggulir sejarah dengan roda mouse seharusnya secara teori tidak pernah terjadi. Ini terjadi dalam praktik karena kadang-kadang mode layar alternatif tidak diaktifkan dengan benar kembali. Jawaban yang diterima menyelesaikan masalah dengan menonaktifkan fitur yang berguna, yaitu menggulir dalam vi, kurang, ... dengan roda mouse atau trackpad. Anda dapat menyimpan opsi dari preferensi lanjutan:

Roda gulir mengirimkan tombol panah saat dalam mode layar alternatif

setel ke ya. Terkadang Anda akan terjebak dalam mode riwayat gulir. Tetapi jika Anda tahu cara melarikan diri, itu tidak masalah.

Ortomala Lokni
sumber
2
Terima kasih atas sarannya! Ini membantu saya keluar :)
jj172
1
Terima kasih sobat! Tetapi masuk dan keluar vi tidak membantu dalam kasus saya karena alasan tertentu, tetapi berhasil setelah memasuki halaman manual dan keluar dengan menekan q
Frax
1
Ini sangat membantu. Pengguliran tiba-tiba menambahkan [[A^dan [[B^ke baris perintah bukannya menggulir jendela. Saya tahu ini bukan perilaku normal. Sebelum itu saya meninggalkan komputer di nanodalam selongsong SSH yang terputus saat saya menutup laptop saya. Jalan keluar yang tiba-tiba itu jelas merupakan penyebabnya. Cukup membuka tab baru di iTerm2 memperbaiki ini.
Colin Marshall
Sayangnya saat menggunakan screenAnda tidak dapat menggunakan trik ini untuk keluar dari mode layar alternatif. Jadi, jika Anda menggunakan screenbanyak (seperti saya), menonaktifkan fitur sama sekali adalah penyelamat.
mvreijn
Saya lebih suka jawaban ini, karena sangat berguna untuk bernavigasi di aplikasi layar penuh dengan trackpad, jadi menonaktifkan fitur dalam preferensi bukanlah pilihan yang baik bagi saya :) Terima kasih untuk berbagi kiat ini :)
Patrick Ferreira
42

Anda mungkin hanya perlu keluar dari konsol pengganti.

Mencoba: tput rmcup

otrejni
sumber
1
Jawaban Hebat A + 💯
dps
Jawaban yang jauh lebih baik - ini memungkinkan Anda menggulir riwayat sambil masih bisa menggulir saat dalam vim. Terima kasih!
JonLuca
10

Preferensi: Lanjutan: Mouse: Roda gulir mengirimkan tombol panah saat dalam mode alternatif

Idiot
sumber
2
Saya mengalami masalah yang sama persis seperti yang dijelaskan, tetapi di iTerm Mouse terbaru tidak berada di bawah Prefences: Advanced. Hanya pemicu, seleksi cerdas, dan sejarah semantik. Adakah yang tahu cara lain untuk memperbaikinya?
mikeLspohn
9

Dengan iTerm2 Anda juga dapat menahan Opsi saat menggunakan roda gulir untuk memaksa pengguliran jendela, jika Anda ingin roda tersebut terus bekerja di vim.

Kyle Smith
sumber
ini bekerja, tetapi bagaimana saya kembali ke detault, ketika saya tidak harus menahan tombol opsi
meso_2600
2

Perilaku yang Anda lihat adalah perilaku yang diharapkan (dan benar) ketika di layar alternatif. Satu-satunya masalah yang Anda miliki adalah bahwa Anda jatuh ke bash, atau apa pun, di layar alternatif, mungkin saat kehilangan koneksi atau dari vim yang terbunuh atau kurang. EG Anda berada di less +F /var/log/somethingdan terputus.

Anda melihat seseorang telah menulis bahwa tput rmcupperintah akan keluar ke layar utama.

Saya juga pergi ke depan dan mencari beberapa karakter kontrol terminal. Hal ini dapat salah: ESC [ ? 1 0 4 9 latau ESC [ ? 1 0 4 7 latau ESC [ ? 47 l(gnu.org/software/screen/manual/html_node/Control-Sequences.html) dengan preferensi untuk yang pertama.

Saya umumnya sukses di iTerm2 dengan echo -e '\e[?1049l'sebenarnya saya tidak menemukan yang rmcuplebih mudah untuk diingat, mengembalikan memori konsol?

dlamblin
sumber
1

Saya mengalami masalah yang sama dan tidak ada solusi yang saya baca dan coba bekerja. Apa yang memperbaiki masalah saya adalah mematikan Entri Keyboard Aman dan sekarang ketika saya menggunakan mouse untuk menggulirnya dalam ssh dan dalam mode terminal pada macOS 10.13 berfungsi seperti yang saya harapkan juga!

Stan
sumber