我想知道是否有办法启用 macOS 键盘快捷键来编辑文本以适用于我当前正在编写的命令。
例如,我想要:
- Command+←将光标移动到行首。
- Command+→将光标移动到行尾。
- Command+Delete删除从行首到当前光标之间的文本。
- Option+ ←/→将光标移动到上一个或下一个单词的边缘。
- Option+Delete删除光标前的最后一个单词。
有什么方法可以实现这个目标吗?
我想知道是否有办法启用 macOS 键盘快捷键来编辑文本以适用于我当前正在编写的命令。
例如,我想要:
有什么方法可以实现这个目标吗?
在终端中运行
cat
。然后按⌘+ ←。
⌘与+对应的转义序列←将打印到屏幕上。我没有 Mac,但是,例如,在 Gnome Terminal / Ubuntu 上按Ctrl+←会输出:
然后将转义序列绑定到相应的动作(在本例中为
backward-word
):<sequence>
用 的输出替换cat
。然后对所有想要映射的序列进行冲洗并重复。
您要映射的操作按顺序如下:
beginning-of-line
end-of-line
backward-kill-line
backward-word
forward-word
backward-kill-word
我建议您将所有
bindkey
命令(因为您正在弄清楚它们)放入~/.zshrc
而不是运行它们,以便每次获取命令时都会运行它们~/.zshrc
(即每次您生成 shell/打开新的终端实例时)。最后,运行
. ~/.zshrc
。使用 iTerm2 找到了答案。根据此,可以在 iTerm2 中实现以下目标
转到
iTerm2
>Settings
>Profiles
>Keys
>Key Mappings
并从底部的预设下拉菜单中选择自然文本编辑:按键绑定将显示在上方