screenはCtrl+Aを使います。 一方、tmuxはscreenの中で開発されたものでCtrl+Bを使います。しかし、どちらのキーストロークもエディタやシェルなどで使われます。したがって、どちらか一方を選択すると、tmux や screen の中で使用されている場合には、それらのツールのユーザーエクスペリエンスや機能性が低下します
他のプログラムやシェルのキーバインドと最も衝突しない接頭辞は?
105 community wiki None
キーボードのレイアウト上で便利な位置にあれば、^\
(別名 ^|
) がベストだと思います。他のプログラムで使うことはほとんどありません
- プロセスに
SIGQUIT
を送信する ^C
が傍受された場合に、シェル内でforループまたはwhileループをアボートするtoggle-input-method
emacsで
他の使い方を知らない。慣れてきたら、tmux
やscreen
以外のプロセスを誤って殺してしまわないように気をつけてください。私の場合は数年に一度しかありませんでしたが
~/.tmux.conf
unbind-key C-b
set -g prefix 'C-\'
bind-key 'C-\' send-prefix
~/.screenrc
escape ^|^|
54 community wiki 2015-11-20
tmuxでbacktickをエスケープとして使いたい人は、追加したくなるでしょう
unbind C-b
set -g prefix `
bind-key ` send-prefix
この最後の1つが重要で、そうでなければ他の目的のためにバックスティックを入力することはできません 🙂
55 community wiki 2012-03-06
Ctrl+Aは、EmacsモードのBashを含むEmacsでも問題が発生することが知られています。これは問題なさそうですね
Ctrl+O は私が見た他のオプションです。どうやら、RatPoisonではこれがデフォルトになっているようです(これはマウスを必要としないXのウィンドウマネージャです)。入れ子になった画面を使うときはCtrl+Oを使っています。外側のスクリーンには Ctrl+O を、内側のスクリーンには Ctrl+A を使用しています。うまくいったのですが、同僚を怖がらせてしまいました。)
今思ったのですが、Emacsではなくviを使う場合、いくつかの選択肢があります。Ctrl+Gはあまり使われていないので、例えば
21 community wiki 2020-05-09
グローバルに CAPS-LOCK
を ESC
にマッピングしました。そして、プレフィックスに M-Space
(つまり CAPS-LOCK
+ Space
) を使います
14 community wiki 2012-11-09
私はCtrl-Q
をtmux
で使っていますが、今のところうまくいっています。しかし、シェルフロー制御と衝突することに言及しなければなりません。デフォルトでは、Ctrl-S
で出力を停止した後に、Ctrl-Q
を使って再度出力を有効にします。誤って Ctrl-S
を押した後に何度かスタックしたシェルに驚いたことがありますが、私は Ctrl-S
を押してはいけないことを学びました
(stty -ixon
でフロー制御を完全にオフにしたり、stty start
とstty stop
に異なるキーをバインドしたりすることもできます)
# tmux.conf
unbind C-b
set -g prefix C-q
12 community wiki 2011-06-23
画面には複雑なシステムを使っている。私のデフォルトのエスケープは、「\140140」(Backtick)になっています。このCtrl-Aは、Zshの中ではEmacsもコマンドライン編集も複雑で、Ctrl-O(ほとんどの画面操作は両手で行う)が嫌いです
私は’s’をスクリーン1にリバインドして、新しいセッションがキーボードの左から右へと1から始まるようにしています。 これにより、スクリーン0を私が永続的なウィンドウや参照ウィンドウと考えているもののために確保することができます。ウィンドウを切り替えるには、(backtick)1、(backtick)2、(backtick)3の片手ジェスチャーがとても簡単です
Unix 環境で backtick を使うときの問題は、シェル/Perl スクリプトのコードをカットアンドペーストしようとするときです。このため、私はエスケープ文字を切り替えるために bindkey F11/F12 を使用しています
bindkey -d -k F1 escape ^O^O # bound to F11
bindkey -d -k F2 escape \140\140 # bound to F12
これは、カットアンドペースト操作をするときのために、エスケープを Ctrl-O に置き換えます。二重ティックを打つのは簡単で、ほとんどの画面操作には良いトレードオフであることがわかりました
F12を押すことでモードを切り替えることができ、モードを示すためにキャプションを使用することができる新しいソリューションで、この答えを再検討してください
## command characters
escape \140\140 # default is `
## sets caption and escape toggle
bindkey -d -k F2 process a # bound to F12
## initial caption
caption always '%{= kW}%?%F%{+b KW}%:%{= kK}%? %= %?%F%{-b .c}>>>%{-}%? | %-w%{mW}%n* %t%? @%u%?%{-}%+w '
## registers to toggle bindkeys
register a "\140:eval 'bindkey -d -k F2 process b' 'process c' 'escape \\017\\017'^M"
register b "\017:eval 'bindkey -d -k F2 process a' 'process d' 'escape \\140\\140'^M"
## registers to change captions
register c "\140:caption string '%{= kW}%?%F%{+b mW}%:%{= kK}%? %= %?%F%{.c}ALT%{-}%? | %-w%{KW}%n* %t%? @%u%?%{-}%+w '^M"
register d "\017:caption string '%{= kW}%?%F%{+b KW}%:%{= kK}%? %= %?%F%{.c}>>>%{-}%? | %-w%{mW}%n* %t%? @%u%?%{-}%+w '^M"
12 community wiki 2020-05-09
私は ^Space
を特殊な操作や一般的な操作のために予約しておきたいのですが、今は tmux の prefix
としてマッピングしてみています
指を自由にして、入力したいコマンドに瞬時にジャンプできます。試してみてください
6 community wiki 2010-08-20
遅ればせながらの提案。ctrl-s
.ctrl-s
には多くの利点がある
- ホームの列で
- まだ
ctrl-a
に近い(実際、ほとんどのタイパーにとってはctrl-a
で使ったのと同じ2本の指を使うことになる)ので、ctrl-a
からctrl-s
への筋記憶の切り替えは些細なことである — 私にとっては、最初に試してから約1時間で自然になった - emacs スタイルの “行頭に戻る” や vim スタイルの “数値を増やす” 操作のために
ctrl-a
を解放します。あるいは、埋め込まれたスクリーンインスタンスを制御するためのプレフィックス文字のエスケープを気にすることなく、 tmux ペインの中でスクリーンを実行することができます。(私は、リモートサーバへの ssh セッションを含むペインを持つローカルの tmux を使って、よくこのようなことをしています。) - 他の一般的に使われているターミナル機能を上書きしたり、エスケープ要件を追加したりすることはありません
もちろん、ctrl-s に何もないのは、more
や less
のようなページングツールが一般的になる前の時代にさかのぼり、ターミナルでは伝統的にフローコントロールに使われていたからです。どこかのGUIターミナルプログラムがデフォルトでフローコントロール機能を有効にしていると思いますが、私は実際にそれに遭遇したことがありません; 私が試したGUIターミナルプログラムはすべてデフォルトでは完全に無視されているようです
ですから、もしあなたが実際に screen/tmux を (例えば) 生の Linux 端末からではなく、GUI ベースの端末から使うのであれば、ctrl-s
を試してみることをお勧めします
6 community wiki 2013-06-25
競合のないキーは、プログラムを起動したシェル上で別のことを続けるためにバックグラウンドに送るのが普通なので、C-zになるかもしれません。tmuxを持っているときにはやっていません
5 community wiki 2016-02-03
(backtick) が使われているのを聞いたことがありますが、実際の backtick のためには 2 回入力する必要があります。アクションに慣れている vi ユーザーには良いかもしれません (Caps ロックをしない限り)
4 community wiki 2010-08-27
私は、viやemacsにあまり干渉しないC-j
をお勧めします。基本的に、私は Susam Pal さんのコメントに同意しています
私はC-jをプレフィックスキーとして使用しています。これは ~/.tmux.conf にあります
set -g prefix2 C-j; bind-key C-j send-prefix -2
4 community wiki 2016-05-18
Programmer Dvorakのキーボードレイアウトでは、ctrl
+-
のように、マイナス(ダッシュ)キーをプレフィックスとして使うのは、なかなかいい感じです。 マイナスキーはqwertyレイアウトではシングルクォートキーの位置にあります。また、ctrlキーとしてcaps lockキーを使用するようにしています。以下はプレフィックスとして設定するためのtmuxのコンフィグです
unbind C-b
set -g prefix C-_
bind C-_ send-prefix
bind - last-window
不思議に思うかもしれませんが、なぜマイナスではなくアンダースコアが使われているのでしょうか?Tmux: C- (control-minus)? を参照してください。qwerty の場合は、tmux のプレフィックスキーを C-‘? にバインドするにはどうすればよいでしょうか?
Vim/Neovimを使うならば、これは完璧な接頭辞だと思います。なぜなら、ctrl
+a
やctrl
+b
のようなプレフィックスは、どちらにしてもVimの機能に影を落とす(重なる)からです
3 community wiki 2020-06-12
個人的には、b
はCtrl
とはあまりにもかけ離れています。tmuxを使うとき、私はいつもバインディングをC-bからC-aに変更しています。C-aとの主な衝突はselect allですが、tmuxを使っているプログラムではこれが問題になったことはありません
2 community wiki 2009-11-24
GNU emacs、zsh、MS Windows のユーザーとして、私は Control-T を使用しています。(例:.screenrc:)
escape “^T^T”
はい、Control-TはUbuntuの適性のプルダウンメニューやEmacsのトランスポーズ文字のように、それに縛られた何かを持っています
C-oは両手が必要なので無視しました
2 community wiki 2009-12-20
最良の解決策は^Cだと思います。Emacs は ^C をプレフィックスキーとして使用していますが、シェルで ^C を入力する必要があるときは、ほとんどいつも 2 つのキーを入力しています。)
unbind-key C-b
set -g prefix C-c
bind-key C-c send-prefix
2 community wiki 2013-03-04
Caps Lockを使っていますが、OSXでは特別なことをしないと使えません
2 community wiki 2013-03-16
backtick を使うことができます。古いバージョンの tmux は backtick をサポートしていないものもあるので、以下のようにすれば回避できます (これは C-`, C-@, C-space を同時にメタとして追加することになりますが)
# meta prefix - @ - backtick
unbind C-b
set -g prefix C-@
bind C-@ send-prefix
bind C-@ last-window
私は普段CapsLockをCtrlにリマップしているので、Backtickがあるとさらに意味があります
1 community wiki 2013-12-04
ここでのほとんどの回答は、キーの組み合わせの一部としてCtrlを使用しています。 Ctrlを使っていると、常にCtrlまで広げていたので、小指が痛くなってきました。 私は左手の親指と右手の人差し指で入力するAlt-j
を使っていますが、とても便利です。また、他のプログラムとの衝突も今のところありません
unbind C-b
set-option -g prefix M-j
1 community wiki 2019-03-05
GNUスクリーンでは、~/.screenrcにある以下のようにバックティックをエスケープにマッピングするとうまくいきます
escape ``
1 community wiki 2019-06-30
私はAlt+Fを使っています。追加したばかりですが、C-a
やC-b
よりもずっといいです。M-f
はホームポジションからの移動が不要で(altがすでに親指の下にあるので)、小指に負担がかからない
unbind C-b
set-option -g prefix M-f
1 community wiki 2020-05-28
私は binding ctrl-をプレフィックスとして使うという提案が好きですが、これを Linux Mint 12 で動作させるためには、下の方にあるバインディングの場所をエスケープしなければなりませんでした。そうしないとうまくいきません。私の .tmux.conf を参照してください。tmux を emacs と vim の両方で使う
0 community wiki 2017-03-20
Macユーザーは裏技よりも§
の方が便利だと思います
Mac以外のキーボードでは、Macキーボードの§
とほぼ同じキー位置にバックスティックが配置されています。そこで、バックスティックを使うことを勧めている人たちと同じ便利さを体験するために、Macキーボードでは段落記号を使いましょう
MacのキーボードでBacktickを使うのは、左の(⇧)shift、(⌃)control、(⌥)alt-keyのすぐ近くにあるのでトリッキーです。MacBookでは左のfn
キーの近くにさえあります
0 community wiki 2016-07-01