在激活 Tab 键的情况下在多行中编写结构化命令

Abs*_*cDo 10 bash

我想在多行中编写结构化命令

$ for i in *;
? do
?    file $i;
? done
bmdt.md: ASCII text
breakfast.md: ASCII text
brmdh.md: ASCII text
test.sh: Bourne-Again shell script text executable, ASCII text
Run Code Online (Sandbox Code Playgroud)

但发现标签不起作用,

如何在 bash 控制台中激活 Tab 键?

Kus*_*nda 10

当您Enter在输入不完整的命令后按下时,bashshell 将显示一个继续提示(辅助提示,$PS2)并允许您完成输入的命令。此时 shell 的命令行编辑工具与原始提示符(主提示符$PS1)相同,这意味着该Tab键会像往常一样完成命令和文件名的补全。

要插入制表符,请使用Ctrl+V Tab或使用空格进行缩进。如果以Ctrl+V.为前缀,则始终可以插入制表符(或任何其他文字字符)。


或者,如果处于 Emacs 命令行编辑模式(我认为这是 中的默认模式bash),请使用 调Ctrl+X Ctrl+E出编辑器来输入您的命令。使用的编辑器将是EDITORshell/环境变量指定的编辑器,或者emacs如果此变量未设置。

在 Vi 命令行编辑模式下,按Escape v执行相同的操作。

该命令将在保存并退出编辑器后执行。