tmux内でCtrl + Bをlessで使用する


17

Ctrl+Bコマンドプレフィックスを使用しますがtmux、これはCtrl+Binと衝突しますless、これはとます。これはファイルのスクロールアップに使用されます。

これを機能させるにはどうすればよいですか?で別のコマンドプレフィックスを設定する必要がありtmuxますか?私はそれを避けることができれば、新しいキーバインディングを学ぶ必要は本当にありません。

回答:


18

明らかに、両方のプログラムがリッスンしているときに同じことを行う2つのキーを持つことはできません。Tmuxが最初に取得します。再学習したくないキーバインディングのセットを指定しませんでしたが、両方のアプリに同じキーが使用されるため、別の操作を行う必要があります。

一時的にのみ使用する場合はlessCtrl+ を押してBB(Ctrl-Bを2回押す)本物を渡すだけtmuxで、現在のペインのアプリに単一のCtrl-Bを渡すことができます。

tmuxバインディングを別のもの(たとえばCtrl+のAようなものscreen)に変更したい場合は、これを `〜/ .tmux.confファイルに追加できます。

unbind C-b
set -g prefix C-a

に別のものを使用する場合lessGキーは通常、ファイルの先頭に既にバインドされているため、変更は不要です。その変更があなたに合わない場合は、を使用してキーを再バインドできますlesskey


tmuxバインディングをに変更すると、begining Ctrl+A-of-commandと衝突します。以前に選択したウィンドウに「Ctrl + B + B」がバインドされています。
ドッグベイン

1
@Caleb:私tmux(デフォルトの設定のUbuntu 11.04)では、「Ctrl + B B」は何もしません(マニュアルページにも記載されていません)。「Ctrl + B Ctrl + B」を使用して、Ctrl + Bをアプリケーションに送信する必要があります。(対照的に、screenデフォルトでは「Ctrl + A A」を使用して「Ctrl + A」をアプリケーションに送信します。)とにかく素晴らしい答えです。
リッカルドムリ

1
@RiccardoMurri:それは命名法の問題です。私はB、コントロールをやめることを示すキーの間にスペースを残しませんでした。通常、このようなスタイルのキーでは、コントロールキーがリリースされる場合、キー間にスペースまたはコンマを挿入しますが、それは明確に定義された標準ではありません。一部の人々は同じ+構文さえ使用しません...
カレブ

@dogbane:ダブルCTRL-Bをデフォルト以外に再バインドした場合、それはあなたのせいであり、それを再マッピングするか、CTRL-Bのパススルーバージョンを他の何かにマッピングするか、別のキーを使用する必要があります少ないため。
カレブ

2
@dogbaneを使用していますCtrl+\ が、これは明らかに個人的な好みの問題です。Ctrl+\ 指のゆがみなしにキーボードで入力する方法がない場合、私の選択が気に入らないでしょう。
ジル 'SO-悪である停止


6

tmuxコマンドを使用できますsend-prefix。tmuxキーバインディングプレフィックスを現在のウィンドウに送信します

例えば、中.tmux.conf

set-option -g prefix C-a
bind-key v send-prefix

次に、Ctrl-a+ vを押すとCtrl-a端末に送信されます。


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