小编Gqq*_*big的帖子

为什么`ctrl+[`和`ESC`都会产生`^[`?

在 bash 中,我按ctrl+v开始逐字插入。在逐字模式下,我按下Esc键,bash 显示^[。我将其重定向到 file esc

同样在逐字模式下,我按ctrl[,bash 显示^[。我将其重定向到 file ctrl

接下来我对比两个文件,发现是一样的!

$ echo '^[' > esc
$ echo '^[' > ctrl
$ diff esc ctrl
$
Run Code Online (Sandbox Code Playgroud)

为什么Ctrl+[Esc会产生相同的内容?

^[这是C0 和 C1 控制代码吗?如果是这样,维基文章说^[是 Escape,那么为什么ctrl+[也是 Escape?

根本问题是我想检查并创建一个键绑定。

(zsh)$ bindkey -L 
...
bindkey "^['" quote-line
...
Run Code Online (Sandbox Code Playgroud)

那么我需要输入ESC+'or吗ctrl+[+'

terminal escape-characters

9
推荐指数
1
解决办法
2227
查看次数

标签 统计

escape-characters ×1

terminal ×1