OSXターミナルからiTerm2に切り替えたところ、一部の機能が失われたようです。ターミナルでは、 MouseTerm をインストールしたので、マウスでless
コマンドの出力をスクロールできました。
ただし、iTerm2でless
出力をスクロールしようとすると、代わりにウィンドウのスクロールバーが移動します。奇妙なことに、スクロールはvim
で期待どおりに機能します。
iTerm2でマウスを使用してless
出力をスクロールするにはどうすればよいですか?
ITerm2の問題は「修正済み」とマークされましたが、修正は非表示オプションを追加することであるため、新しいAlternateMouseScroll
オプションを有効にする方法はすぐにはわかりません。
Filippo Valsorda(パッチの作成者) writes として、iTerm2のナイトリービルド(1.0.0.20140629にはまだ存在しない)をインストールしたら、次のコマンドを実行します。
$ defaults write com.googlecode.iterm2 AlternateMouseScroll -bool true
iTerm2を再起動すると、端末がless、vim、emacsなどのプログラムで使用される「代替画面」(直接アドレッシング)モードのときに、すべてのウィンドウで上/下矢印キーのエスケープとしてスクロールイベントが報告されます。
追加のマウスサポートを提供するvimやemacsなどのアプリケーションの場合、この自動モードスイッチはスクロールのみを有効にするため、引き続きマウスレポートモードを有効にする必要があります。
今ではiTerm2に実装されており、
設定-> 詳細-> 代替画面モードの場合、スクロールホイールは矢印キーを送信しますそしてはいに変更します
(defaults write com.googlecode.iterm2 AlternateMouseScroll -bool true
は引き続き機能しますが、同じ設定を変更するだけです)
最後にそれをしました、私はこれに多くの時間を費やしてきましたが、運が悪かったので、最も簡単な手順は次のとおりです。
2.9ベータ版をインストール
完了
OPの質問ではありませんが、これをtmuxで機能させようとしている人のために、 choco 経由 このgithubコメント これがtmux.confに追加するスニペットです代替画面(例:less、vim)を正しく処理するために:
# Check if copy-mode or any mouse flags, then send mouse events
# or check if we're in alternate screen end send navigation keys (up, down)
bind -n WheelUpPane if-Shell -Ft='#{?pane_in_mode,1,#{mouse_any_flag}}' \
'send -Mt=' 'if-Shell -Ft= "#{alternate_on}" \
"send -t= Up" "copy-mode -et= ; send -Mt="'
bind -n WheelDownPane if-Shell -Ft= '#{?pane_in_mode,1,#{mouse_any_flag}}' \
'send -Mt=' 'if-Shell -Ft= "#{alternate_on}" \
"send -t= Down" "send -Mt="'
これは 他の回答で言及されているItermプリファレンスの変更 を必要としないことに注意してくださいが、それによって害されることもありません。
現在、これは実装されていません。
ITerm 2の問題トラッカーには、実装に関する未解決の問題があります。