web-dev-qa-db-ja.com

iTerm2 –マウスでスクロールレス出力

OSXターミナルからiTerm2に切り替えたところ、一部の機能が失われたようです。ターミナルでは、 MouseTerm をインストールしたので、マウスでlessコマンドの出力をスクロールできました。

ただし、iTerm2でless出力をスクロールしようとすると、代わりにウィンドウのスクロールバーが移動します。奇妙なことに、スクロールはvimで期待どおりに機能します。

iTerm2でマウスを使用してless出力をスクロールするにはどうすればよいですか?

29
Ruben Verborgh

ITerm2の問題は「修正済み」とマークされましたが、修正は非表示オプションを追加することであるため、新しいAlternateMouseScrollオプションを有効にする方法はすぐにはわかりません。

Filippo Valsorda(パッチの作成者) writes として、iTerm2のナイトリービルド(1.0.0.20140629にはまだ存在しない)をインストールしたら、次のコマンドを実行します。

$ defaults write com.googlecode.iterm2 AlternateMouseScroll -bool true

iTerm2を再起動すると、端末がless、vim、emacsなどのプログラムで使用される「代替画面」(直接アドレッシング)モードのときに、すべてのウィンドウで上/下矢印キーのエスケープとしてスクロールイベントが報告されます。

追加のマウスサポートを提供するvimやemacsなどのアプリケーションの場合、この自動モードスイッチはスクロールのみを有効にするため、引き続きマウスレポートモードを有効にする必要があります。

40
Alex Dupuy

今ではiTerm2に実装されており、

設定-> 詳細-> 代替画面モードの場合、スクロールホイールは矢印キーを送信しますそしてはいに変更します

image of "Scroll wheel sends arrow keys when in alternate screen mode" setting

defaults write com.googlecode.iterm2 AlternateMouseScroll -bool trueは引き続き機能しますが、同じ設定を変更するだけです)

48
Pylinux

最後にそれをしました、私はこれに多くの時間を費やしてきましたが、運が悪かったので、最も簡単な手順は次のとおりです。

  1. 2.9ベータ版をインストール

  2. 完了

3
r1ckr

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プリファレンスの変更 を必要としないことに注意してくださいが、それによって害されることもありません。

1
Von

現在、これは実装されていません。

ITerm 2の問題トラッカーには、実装に関する未解決の問題があります。

1
asmeurer