![在 Bash(Mac/Linux 终端 shell)中,向上和向下箭头键可以像在文本编辑器中一样发挥作用吗?](https://linux22.com/image/1362081/%E5%9C%A8%20Bash%EF%BC%88Mac%2FLinux%20%E7%BB%88%E7%AB%AF%20shell%EF%BC%89%E4%B8%AD%EF%BC%8C%E5%90%91%E4%B8%8A%E5%92%8C%E5%90%91%E4%B8%8B%E7%AE%AD%E5%A4%B4%E9%94%AE%E5%8F%AF%E4%BB%A5%E5%83%8F%E5%9C%A8%E6%96%87%E6%9C%AC%E7%BC%96%E8%BE%91%E5%99%A8%E4%B8%AD%E4%B8%80%E6%A0%B7%E5%8F%91%E6%8C%A5%E4%BD%9C%E7%94%A8%E5%90%97%EF%BC%9F.png)
在文本编辑器中,如果我按向上和向下箭头键,它会将光标移动到文本行之间。
在 Bash 中,如果我输入一个跨越多行的长命令,并且按向上和向下箭头键,它会循环显示命令历史记录。
我希望 Bash 中出现前一种行为。这可能吗?如果不可能,那么有任何在多行命令中直接向上或向下移动光标的方法?
答案1
不,这是不可能的。Bash 使用GNU Readline处理交互式行输入。Readline 中没有命令可以根据需要在显示行之间移动,也没有与线移动视觉GNU Emacs 的变量导致下一行和上一行按显示行移动。
答案2
我的做法是按 CTRL + 左箭头,它会跳转到找到的最后一个空格后的第一个字母。通过这样做,您可以快速到达所需的位置。
答案3
也许你正在寻找类似 xiki 的东西。它就像一个 shell/文本编辑器。
以下是视频演示:http://youtu.be/bUR_eUVcABg
答案4
另请参阅bash(1)
标题Commands for Moving
部分下的手册页以了解其他导航快捷方式。