我知道组合Ctrl+A可以跳转到当前命令的开头,Ctrl+E可以跳转到结尾。

但是有没有办法像Cocoa应用程序中的Alt+←/→那样逐字跳转呢?


当前回答

只要检查“使用选项作为元键”选项在终端>首选项>设置>[配置文件]>键盘,在这里已经提到了@ crisr -page。

但是请注意,在macOS Catalina(10.15)和更新版本中,zsh成为新添加用户的默认shell:它的默认配置仅将空白视为单词边界,而旧的bash将元左/右跳转到最近的非字母数字字符(类似于B/W,而不是vim中的B/W):

                  v----v- bash jumps here
$ vim some-folder/what.txt_<- jump left twice from here
  ^---^- zsh jumps here by default

(类似的动作也适用于元退格)

有不止一种方法使zsh命令行编辑器导航工作类似于bash -这里是一个这样的方法:

# Place in your profile init script, e.g. `~/.zshrc`
autoload -U select-word-style
select-word-style bash

其他回答

你可以使用非常奇怪的Esc+F键移动到下一个单词的开头,Esc+B键移动到当前单词的开头。

如果您在首选项的键盘选项卡中勾选“使用选项作为元键”,则默认的emacs样式命令分别为向前和向后的字和“F (Alt+F)”和“B (Alt+B)”。

我推荐阅读《From Bash to Z-Shell》。如果你想增加你的bash/zsh能力!

实际上有一个更好的方法。按住“选项”(在某些键盘上为“alt”)并按左或右方向键按字移动。就这么简单。

选择← 选项→

此外,ctrl将带你到行结束和ctrla将带你到开始。

我有Alt+←/→工作:打开首选项»设置»键盘,设置选项光标向左发送字符串到shell: \033b,并设置选项光标向右发送字符串到shell: \033f。您也可以将此用于其他控制键组合。

使用自然文本编辑预设!

本质上,它在其他键序列中绑定Option + LeftArrow到^[b序列,Option + RightArrow到^[f序列

这适用于fish和bash,以及在psql终端。