有没有办法在 Mac 终端中跳转到命令行命令的早期部分?

有没有办法在 Mac 终端中跳转到命令行命令的早期部分?

我经常发现自己在 bash shell 中写出很长的命令 - 带有许多参数、网址、路由等。时不时地,我会意识到我忘记了,比如,将“bundle exec”放在命令的开头,或者拼错了某些东西,或者忘记了引号。或者像把“vim”写成“cd”这样简单的事情。

因此,我开始按住左箭头键直到回到命令的开头这个繁琐的过程。

有什么办法可以再次跳转到行首吗?

答案1

除了 ^A 和 ^E 之外,你还可以

  • Esc-b向后跳一个单词
  • Esc-f向前跳一个单词
  • Ctrl-b向后移动一个字符
  • Ctrl-f向前移动一个字符

请参阅 bash 手册移动命令

答案2

您可以使用 Emacs 命令,例如:

  • ctrl-A 转到命令行的开头
  • ctrl-E 转到命令行末尾

这是 bash,并非 Mac 所特有。

答案3

set -o vi

然后Esc接着

^行 首 行$尾 向后 b一个单词 w向前一个单词

答案4

您可以配置常规Ctrl/Opt+Left/Right快捷方式以在终端中使用。这样,您在使用终端时就不必重新学习所有内容。

打开终端 » 首选项… » 设置 » (选择配置文件) » 键盘

在那里分配以下快捷方式:

  • Control + Cursor Left发送字符串\033[1~到 shell
  • Control + Cursor Right发送字符串\033[4~到 shell
  • Option + Cursor Left发送字符串\033[5D到 shell
  • Option + Cursor Right发送字符串\033[5C到 shell

我还喜欢以下内容(Fn + Left/Right):

  • Home发送字符串\033[1~到 shell
  • End发送字符串\033[4~到 shell

在此处输入图片描述

相关内容