新手问题 如何在 tmux 中绑定 Ctrl+ESC 键

betterthornbird · 2013年12月28日 · 最后由 betterthornbird 回复于 2013年12月30日 · 3235 次阅读

我不想用tmux默认键C-b, 也不想绑成C-c, C-a, 就像用C-ESC, 不过好像不成功。C-Escape, C-esc, 都试过不行。

搜索的时候不知道如何表达,找到stack overflow上面的这个提问,http://stackoverflow.com/questions/9922497/how-can-i-set-tmux-hotkey-as-ctrl-that-is-ctrlcomma

里面有这个结论

The control key can only be applied to letters, @, space and ? (and C-@ seems to be equivalent to C-space). Sorry, doesn't look like C-, is possible, at least in tmux-1.6.

但我确实听说过有人绑定C-escape,很迷惑。有没有人知道如何绑定?

共收到 12 条回复

escape 键不是这么用的。不过还是可以绑定:

unbind C-b                                                                                                      
set -g prefix ^[
bind [ send-prefix

按起来比较痛苦...

unbind C-b set -g prefix C-[ bind [ send-prefix

似乎跟你说的不等同?现在我用的是ctrol + [ 来控制的。

#1楼 @gihnius

set -g prefix ^[` 不会设置成Esc.

#3楼 @betterthornbird 我以为你只想按 escape ! 按 control + [ 跟 按 Esc 是一样的. 另外,要用 Esc 可能还要设置 set -sg escape-time 0

#3楼 @betterthornbird Esc 一般不能用于 组合键.

我觉得C-a是最方便了

#6楼 @AlphaLiu 你肯定不是Emacs用户~

#1楼 @gihnius 你tips中的^[ 是直接输入还是用另外的方式输入的?我发现在我的tmux配置里面是不work的。

其实我就是听说过有人绑ESC之后就一直想搞清楚到底怎么绑上去,我怎么就不能成功

#9楼 @betterthornbird 晕 ^X 就是 C-X 嘛

unbind C-b
set -g prefix C-[
bind [ send-prefix

你这样就是了。按 C-[ 跟按 Esc (不是 C-Esc) 是一样的,你试试. 不过这样不能用 vim 了。

如果用 emacs, 我发现用得最少的是 C-o, 所以我的 tmux 就绑定到 C-o.

#10楼 @gihnius 谢谢,这样是可以行哦。不过这样确实Vim用不了了,我是用Vim的。

#9楼 @gihnius Esc键在配置文件里面可以用C-[来表示, 我在tmux configuration里面看了下,tmux中不支持默认键设置成多于两个字符,比如C-^[这种会默认将[忽视掉。

另外我确认了下,我听说过的那人不是用的Ctrl+Esc来做默认键的。所以我的纠结至此为止了。我现在决定用C-q, C-o在vim中我是找上一个编辑的地方.

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册