iTerm2で「履歴のスクロール」をオフにするにはどうすればよいですか


289

新しいiTerm 2をインストールしました。マウス機能を有効にするかどうかを尋ねるメッセージが上部の黄色のバーに表示されます。残念ながら、正確な文はもう覚えていません。

偶然に私は承認しました。iTermでマウスのスクロールホイールを使用すると、上にスクロールされなくなり、コマンド履歴がトリガーされます。私がアップカーソルを押すかのように。

もう一度オフにする適切な設定が見つかりませんでした。このオプションをどこで切り替えられるか知っている人はいますか?

助けてくれ!


3
私はあなたがiTerm2.9を使用していると想定し、表示されたメッセージは「このようなインタラクティブなプログラムでスクロールホイールでカーソルを移動しますか?」ですが、それを切り替えるインターフェイスが見つかりません問題?
sel-fish

1
はい。ただし、ssh経由でサーバーにログインしている場合のみです。これがどのように接続されるのかわかりません。
ガンボー

「sshを介してサーバーにログインしている場合のみ」とは、ローカル操作にiTerm2を使用する場合、それは起こらないということですか?「ssh経由でサーバーにログイン」するときに別の「プロファイル」を使用しますか?
sel-fish

代替画面のオンとオフを切り替えるには、端末制御文字を送信する必要があります。私は、その制御文字が何であるかを学ぶのが(iTerm2やvim以下に固有ではない)長期的により良いと思います。それは可能性がESC [ ? 1 0 4 9 lまたはESC [ ? 1 0 4 7 lまたはESC [ ? 47 lgnu.org/software/screen/manual/html_node/Control-Sequences.html
dlamblin

2
これはランダムに起こり始めました。ログを
調べよ

回答:


493

iTerm2を含むいくつかの端末には、、、またはvi、またはなどの全画面プログラムが実行されているときにホイールマウスの動作を変更する機能があります。これは、それらのプログラムが便利な機能を提供するために代替画面を使用するときに発生します。通常、iTerm2で代替画面を使用する場合、ホイールマウスはスクロールバーのように機能し、画面全体を上下にスクロールします。ただし、この機能を有効にすると、iTerm2はカーソルの上下キーを送信して、コマンド履歴を変更します。screentmux

別のコメントで提案されているように、「設定」メニューを選択します。

ここに画像の説明を入力してください

その中で、[ 詳細設定 ]タブを選択します。下にスクロールして、[ マウス]セクションに移動します。

ここに画像の説明を入力してください

エントリを切り替えます

代替画面モードの場合、スクロールホイールは矢印キーを送信します

はいありません。変更を有効にするには、iTerm2を再起動する必要があります。(iTerm2 v3.1.5 では、変更は再起動せずに有効になります。)


2
コメントを書く前にテストしました-オプションを切り替えるだけでは不十分でした。
Thomas Dickey

バージョンによって異なる場合があります。3.0.2では、切り替えで十分です。実際、代替画面モードでこの設定がオフになっているときに、マウスでスクロールしてから上矢印キーまたは下矢印キーを押すと、この機能を右にオンにするように求められます。端末ウィンドウ。
ジョージ

3
これを有効にするために3.0.12を再起動する必要はありません。
dhempler

21
//、私はこの機能が好きで、Vimで使用します。特定のターミナルウィンドウで代替画面モードを終了するにはどうすればよいですか?更新:代替画面モードの端末で、代替画面モードをアクティブにする端末プログラムを開きます。そのプログラムをきれいに終了します。これは一時的に問題を終了します。これは、問題が代替画面機能を使用するプログラムを異常な方法で終了したことが原因で発生したことを示していると思います。
Nathan Basanese

6
サー、あなたは私を純粋な狂気から救いました。
BK

60

スクロール履歴モードに陥っている場合は、viを実行して脱出して直接終了できます。代替画面を使用して直接終了する別のプログラムを選択することもできます。

マウスホイールで履歴をスクロールすることは、理論的には発生しません。代替画面モードが正しく切り替えられない場合があるため、実際に発生します。受け入れられた回答は、マウスホイールまたはトラックパッドを使用して、便利な機能(つまり、viでのスクロールなど)を無効にすることで問題を解決します。詳細設定からオプションを保持できます。

代替画面モードの場合、スクロールホイールは矢印キーを送信します

yesに設定します。スクロール履歴モードに陥ることがあります。しかし、あなたが脱出する方法を知っているなら、それは問題ではありません。


2
アドバイスありがとうございます!これは私を助けてくれました:)
jj172 '21

1
ありがとう!しかし、入力してVIを終了すると、何らかの理由で私の場合は助けにはならなかったが、それはmanページに入るとqを押して終了した後に働いた
FRAX

1
これはとても役に立ちました。スクロールは突然追加の全てだった[[A^[[B^コマンドラインに代わりのウィンドウをスクロールします。これは正常な動作ではないことを知っていました。その前はnano、ラップトップを閉じると切断されるSSHシェルにコンピューターを置いていました。その突然の出口は明らかに犯人でした。これを修正するには、iTerm2で新しいタブを開くだけです。
コリンマーシャル

残念なことに、screenこのトリックを使用して代替画面モードを終了することはできません。したがって、screen(私のように)たくさん使用している場合、機能を完全に無効にすることは命の恩人です。
mvreijn

環境設定で機能を無効にすると私のための良いオプションではありませんでしたので、トラックパッドとフルスクリーンアプリケーションでナビゲートするのは非常に便利ですので、私は、この答えを好む:) Thxをする:)このヒントを共有するために
パトリック・フェレイラ

42

おそらく、別のコンソールから出る必要があるだけです。

試してください: tput rmcup


1
すばらしい回答A +💯–
dps

より良い答え-vimでスクロールしながら履歴をスクロールできます。ありがとう!
JonLuca

10

設定:詳細:マウス:スクロールホイールは、代替モードのときに矢印キーを送信します


2
私はこれと同じ正確な問題について説明していますが、最新のiTermマウスはPrefences:Advancedの下にありません。トリガー、スマートセレクション、セマンティックヒストリーのみ。誰かがこれを修正する他の方法を知っていますか?
mikeLspohn 2016年

9

iTerm2を使用すると、ホイールをvimで引き続き機能させたい場合に備えて、スクロールホイールを使用して強制的にウィンドウをスクロールするときにOptionを押したままにすることもできます。


これは機能しますが、オプションキーを押し
続ける

2

表示されている動作は、代替画面での予想される(かつ正しい)動作です。あなたが持っている唯一の問題は、おそらく接続を失っている間、または殺されたvim以下から、代替画面でbashなどに落ちたことです。EGあなたがいてless +F /var/log/something、切断されました。

tput rmcupコマンドがメイン画面に戻ることをすでに誰かが書いたことがわかります。

私も先に進み、いくつかの端末制御文字を調べました。次のいずれかを指定できます:ESC [ ? 1 0 4 9 lまたはESC [ ? 1 0 4 7 lまたはESC [ ? 47 l(gnu.org/software/screen/manual/html_node/Control-Sequences.html)最初の設定が優先されます。

私は通常iTerm2で成功しecho -e '\e[?1049l'ていますがrmcup、実際には覚えやすいコンソールが見つからないため、コンソールのメモリを復元しますか?。


1

私はこれと同じ問題を抱えていて、私が読んで試した解決策はどれも機能しませんでした。私の問題を修正したのは、Secure Keyboard Entryをオフにすることでした。今、マウスを使用してsshとmacOS 10.13のターミナルモードでスクロールすると、期待どおりに動作します!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.