在文本编辑器中,如果我按向上和向下箭头键,它会将光标移动到文本行之间。
在 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
部分下的手册页以了解其他导航快捷方式。