如何在终端中生成序列“\e[Z”?

Ern*_*t A 4 terminal keyboard escape-characters

它绑定到menu-completeGNU readline。

$ bind -p|grep menu
"\e[Z": menu-complete
# menu-complete-backward (not bound)
# old-menu-complete (not bound)
Run Code Online (Sandbox Code Playgroud)

我觉得是Meta-东西。

Gil*_*il' 6

在终端的terminfo数据库中查找发送此转义序列的密钥。该infocmp命令转储当前终端的 terminfo 条目。

$ infocmp | grep -oE ' k[[:alpha:]]+=\\E\[Z,'
 kcbt=\E[Z,
Run Code Online (Sandbox Code Playgroud)

terminfo的手册页解释了什么cbt是的缩写。(它还给出了一个对应于大多数终端的示例。)

$ man 5 terminfo | grep -w kcbt
       key_btab                      kcbt       kB        back-tab key
             kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B,
Run Code Online (Sandbox Code Playgroud)

所以你有它:\e[Z是backtab,即Shift+ Tab(在大多数终端上)。