用于调用bash命令的文本编辑器模式

kam*_*lot 5 linux vi bash command-line command

假设我想通过bash输入一个多行命令我知道我可以在行尾添加\来输入一个新行

但是,有可能进入一个合法的"文本编辑器模式",你甚至不必输入\只需按Enter就足够了

例如..你输入命令进入命令行然后在输入参数之前按下一些魔术按钮,你可以进入类似vi模式然后你输入东西到"vi模式"然后你退出然后你输入的文本在"vi模式"中转换为命令的参数然后按Enter键然后命令执行

是否可以在bash命令行中执行此操作?如果是的话,我该怎么做?

mic*_*has 6

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.
Run Code Online (Sandbox Code Playgroud)

默认bash配置为emacs模式,因此像C-xC-e命令一样使用emacs.

如果你真的喜欢vi,你也可以将你的bash设置为vi模式:set -o vi.这允许您在不调用显式编辑器的情况下对vi方式进行法线编辑.

  • 请注意,在`vi`模式下,`edit-and-execute-command`默认不再绑定到`C-xC-e`(或任何东西). (2认同)