假设我想通过bashinput一个多行命令我知道我可以在行尾添加\来input一个新行
然而,是否有可能进入一个合法的“文本编辑模式”,你甚至不需要input\,只需按回车即可
例如..你input命令到命令行,然后在input参数之前,你按一些魔法button,它允许你进入一个像vi模式,然后你进入东西进入“vi模式”,然后你退出,然后input的文本在“vi模式”中变成命令的参数,然后你按回车键,然后执行命令
有可能在bash命令行中做到这一点? 如果是的话,我该怎么做?
见man bash
:
edit-and-execute-command (C-xC-e) Invoke an editor on the current command line, and execute the result as shell commands. Bash attempts to invoke $VISUAL, $EDITOR, and emacs as the editor, in that order.
默认的bash配置为emacs模式,因此emacs就像C-xC-e命令。
如果你真的喜欢vi,你也可以将你的bash设置为vi模式: set -o vi
。 这使您可以在不调用显式编辑器的情况下进行正常的vi编辑。
Bash可以模拟vim模式(虽然不是很好):
set -o vi
您可以使用fc
命令在vi
或默认编辑器中编辑以前的命令。 这会弹出一个编辑器窗口,当你退出时执行编辑后的命令。 该模式可以重复使用来编辑复杂的命令。