我是在一个麦迪,我正在努力找出快捷键为我的ZSH运行在Iterm2上。
当我在shell中键入bindkey时,我看到(在其他映射中)如下:
"^[b" backward-word
"^[f" forward-word我知道^是控制键。但是如果我按Ctrl +[+ f,它不会向前一个字。
我遗漏了什么?
发布于 2014-10-18 16:16:38
实际上,^[是Alt密钥。因此,在您的例子中,终端(Iterm2)使用Alt +b和Alt +f来前后移动一个单词。这是由您的终端控制,与zsh无关。
发布于 2014-10-18 16:29:36
在GNU世界中,^符号通常用于控制字符,其中^a为Ctrl (ASCII 1,其中A为ASCII 65)。换句话说,它是“在此之前使用字符64插槽”的缩写。
ESC键是ASCII 27,是[之前的64步,因此^[是ESC的缩写。
在GNU Emacs编辑器中,使用了几个修饰符,CTRL、META和其他。例如,CTRL将光标向前移动一个字符,META将光标向前移动一个单词。
为了容纳许多没有元键的键盘,"ESC“的约定意味着下一个字符将被视为按下元键。因此,在GNU Emacs中,按ESC-f将光标向前移动一个单词。
请注意,现在很少有Ctrl-[提供ESC字符,但它可能隐藏在其他Ctrl-组合中。例如,在telnet会话中仍然使用^^来转义到命令模式,因此能够找到它是很有用的。
https://unix.stackexchange.com/questions/162862
复制相似问题