tmuxでスクロールするには?
tmuxを使い始めたばかりで、とても気に入っているのですが、開いているバッファ/ペイン/ウィンドウ内でスクロールできるようにしたいのです。マウスで動くかどうかは気にしていません。tmux の man ページを検索しても、"scroll" という単語が表示されているのは 2 つだけで、どちらもコピーモードに関係しています。コピーモードに入る手間をかけずにスクロールする方法はないのでしょうか?
tmuxを使い始めたばかりで、とても気に入っているのですが、開いているバッファ/ペイン/ウィンドウ内でスクロールできるようにしたいのです。マウスで動くかどうかは気にしていません。tmux の man ページを検索しても、"scroll" という単語が表示されているのは 2 つだけで、どちらもコピーモードに関係しています。コピーモードに入る手間をかけずにスクロールする方法はないのでしょうか?
Ctrl-b キーを押して [ その後、通常のナビゲーションキーを使用してスクロールすることができます (例: 上矢印または PgDn)。また、Ctrl-b の PgUp を押すとコピーモードになり、1 ページを上にスクロールすることができます (これは、あなたがほとんどの時間を必要とするように聞こえるものです)。
man pageより抜粋:
tmux は、クライアントからの制御は、プレフィックスキー ‘C-b’ (デフォルトでは Ctrl-b) の後にコマンドキーを組み合わせることで行うことができます。なお、
vi
はコマンドキーとしてバインドされているので、これをページアップに使う場合は、C-b
を 2 回押す必要があります。コピーモードのコマンドをリピートカウントで前置きする方法については、マニュアルページを参照してください。
Ctrl-b でキーバインドモードを設定してから
The default command key bindings are:
[ Enter copy mode to copy text or view the history.
Function vi emacs
-------- -- -----
Half page down C-d M-Down
Half page up C-u M-Up
Next page C-f Page down
Previous page C-b Page up
Scroll down C-Down or C-e C-Down
Scroll up C-Up or C-y C-Up
Search again n n
Search again in reverse N N
Search backward ? C-r
Search forward / C-s
または C-b
を押すことができます。
さて、あなたはスクロールを設定するための適切な方法を検討する必要があります:あなたのtmux.conf
set -g mouse on #For tmux version 2.1 and up
set -g mode-mouse on #For tmux versions < 2.1
または &001
それは私のためにWindowsとペインで動作しました。これでtmuxは完璧になりました。
最新のtmux 2.1では、あなたのマウスで正気でスクロールするには、これが正解です:
set -g mouse on
" sane scrolling:
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'copy-mode -e; send-keys -M'"
それはちょうどあなたの.tmux.confをリロードするだけでは十分ではありませんあなたは、あなたのtmuxを再起動する必要があります、例えば、 https://github.com/tmux/tmux/issues/145 から取られたtmux kill-server && tmux
これが私の作った方法で、デフォルトの方法よりも良いと思う理由です。
試してみるには、全てのコードセクションを~/.tmux.conf
に入れてみてください。
ステップ1. プレフィックスキーを変更して、1ビットに届かないようにします。'B'は一見近いキーですが、2本の人差し指の真ん中(それぞれ'F'と'J'のところ)にあります。tmuxではこのショートカットが必須なので、C-jの方が手の動きがゼロになるので(キーを打つ以外は)ずっと良いです。S’ (コピーモードを入力する) は: 1) 閉じる (上記と同じ理由)、2) もう一方の手を含む (比較: ボクシングの 1-2、またはディレクトリ内のファイルを表示するために ls
コマンド)、および 3) “スクロール” のためのニーモニックとして考えることができます (コピーモードはちょうどスクロールについてではありませんが)。最後は実際のスクロールです。P’ と ‘N’ は Emacs ユーザーにはお馴染みです。これらは親しみやすく、直感的で(キーボードでは'P'は'N'の上にあります)、ニーモニックで("previous “と "next "です)。Emacsでスクロールした後にtmuxに行くと、これらのショートカットがあるのは理にかなっています。しかし、私は ‘I’ と ‘K’ がより良いことに気づきました - ‘P’ と ‘N’ よりもさらに近く、直感的に操作できます (同じ理由で)。
私は、あなたのtmuxマウス関連の問題のほとんどを解決するために、 tmux-better-mouse-mode プラグインを試してみることをお勧めします。
これは、Tmux 2.1+と新しいset-option -g mouse on
のアプローチと互換性があります。
私はこれのために多くの周りを検索し、私のための最良のソリューションは、この詳細なガイドで言及されているように動作します http://tangledhelix.com/blog/2012/07/16/tmux-and-mouse-mode/
これらのバインディングを ~/.tmux.conf に追加します。 conf:
set -g mode-mouse on
unbind +
bind + \
new-window -d -n tmux-zoom 'clear && echo TMUX ZOOM && read' \;\
swap-pane -s tmux-zoom.0 \;\
select-window -t tmux-zoom
unbind -
bind - \
last-window \;\
swap-pane -s tmux-zoom.0 \;\
kill-window -t tmux-zoom
上記のアプローチを実装したことで、Prefix +を使用して各ペインに_ズームインすることで、ウィンドウ内のペインからコピーすることができます。これは、tmuxコピーバッファの代わりに従来のターミナルバッファにコピーします。 https://wiki.archlinux.org/index.php/Tmux#Scrolling_issues )
私の場合は、~/.tmux.conf
# Allow xterm titles in terminal window, terminal scrolling with scrollbar, and setting overrides of C-Up, C-Down, C-Left, C-Right
set -g terminal-overrides "xterm*:XT:smcup@:rmcup@:kUP5=\eOA:kDN5=\eOB:kLFT5=\eOD:kRIT5=\eOC"
(これを有効にするには再起動が必要かもしれません)
Update:
Putty Connection > Data > Terminal-type の設定を “xterm” から “putty” (フォーマットの問題を修正するために使用されます) に変更すると、この解決策は動作しなくなります。
Update 2:
ターミナルタイプを “putty "にしたい場合は、これを使用してください。
FWIW、macbook/OSX Mojaveでは、ctrl+[
の後、次のようにします:
up arrow
の行をアップ down arrow
の行をダウン fn + up arrow
のページをアップ fn + down arrow
のページをダウン