ネストされたtmuxセッションにコマンドをすばやく送信する方法は?


30

.tmux.confに次のものがあります

set -g prefix M-j
bind-key j  send-prefix

ネストされたtmuxセッションに何かを送信するには、(Atl+ J)+(J)+バウンドキーを押す必要があります。かなり遅いと感じます。より良い方法はありますか?たとえば、ネストされたセッションで何かをするために(Alt+ J)+(2xバウンドキー)できるようになりたいです。ネストされたコマンドではなく、トップのtmuxセッションでコマンドを常に実行しています。また、どうしてみんながバインドprefixするのC-aですか?この組み合わせを入力するのは非常に遅くて不快です。何か不足していますか?


私はCtrl-Aも好きではありませんが、その不快感についてのコメントは、あなたの小指が多分コントロールキーに達していることを示唆しています。その場合、capslockをコントロールキーとして再マッピングすることを検討してください。これは、指のねじれを制御し続けるために行うことです。Ctrl+ Aもそれほど難しくありません。
ステーブルドッグ

@Stabledogあなたの仮定は正しいです。それにもかかわらず、私はcapslockをESCにマッピングしました。capslock + aをどのように押しますか?
ロルフ

Caコンボは、tmuxより前のGNU Screenから継承されています。
クサラナンダ

回答:


33

別のキーを選択した場合、ネストされたセッションにコマンドを送信するのは1回少ないキー押下です。Ctrlt標準のプレフィックスとCtrlaネストされたセッションに使用します。

# set prefix key to ctrl+t
unbind C-b
set -g prefix C-t

# send the prefix to client inside window
bind-key -n C-a send-prefix

-nスイッチを使用していることに注意してください。のバインドキーエントリからman tmux

-nを指定した場合、プレフィックスキーを使用する必要はありません。コマンドはキーのみにバインドされます。

だから、例として、Ctrltctmuxはで新しいウィンドウを開きます。Ctrlacネストされたセッションでも同じことを行います。


驚くばかり!これにより、ネストされたセッションは実際には通常のセッションと同じくらい高速になります。
ロルフ

1
C-b慣れている場合は、バインドを解除する必要はありません。bind-key -n C-a send-prefix十分なはずです。
utapyngo

0

ctrl-aの理由は、ほとんどのUnixハッカー(少なくとも私が知っている)がcapロックをコントロールに再マップするためです。これにより、すべてのctrl-op、特にctrl-aが高速になります。


2
ええ、前のコメントで言ったように、一体どのように人々はcapslock + aを同時に押しますか?ピンキーを使って、どちらかを押します。
ロルフ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.