在 Mac OS X 上的 zsh 中绑定 Fn-Delete

Tho*_*s R 22 keyboard zsh macos

在 zsh 中,每当我按 Fn+Delete(即向前删除)时,都会插入波浪号 (~)。这表明 zsh 没有密钥绑定。

如何绑定它,并使其正常运行(在光标前删除)?

Ign*_*ams 22

首先弄清楚它生成什么序列。

echo "CtrlVFnDelete" | od -c

然后使用正常的 zsh 绑定机制绑定该序列。

  • @rixth:实际上并不是只输出波浪号。你不能使用 `echo "~"` ,你必须按照 **Ignacio** 给你的指示。在我的系统上,它是 `^[[3~`(或作为 `od` 输出:`033 [ 3 ~`)。所以命令是`bindkey "^[[3~" delete-char`,它会进入你的`~/.zshrc`。 (10认同)
  • ~ > echo "~"|od -c 0000000 ~ \n 0000002 ~ > 我现在如何处理这些信息? (2认同)
  • 为了澄清上述内容,`ctrl-v` 是一个特殊的转义序列,意思是“将我按下的下一个字符作为字面未转义的字符插入,而不是执行通常所做的任何操作。” 这意味着它不会被转换为 `~`,而是作为转义序列。 (2认同)

小智 5

对我来说,上面没有解决问题,所以我添加了以下键绑定到我的~/.zshrc

bindkey "\e[3~" delete-char

仅供参考:我使用的是 Mac(High Sierra)。