Me gustaría escribir un comando estructurado en varias líneas como
$ 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
pero la pestaña no funciona,
¿Cómo podría activar la tecla de tabulación en la consola bash?
Respuestas:
Cuando presiona Enterdespués de ingresar un comando incompleto, el
bash
shell mostrará una solicitud de continuación (la solicitud secundaria$PS2
) y le permitirá completar el comando ingresado. Las funciones de edición de la línea de comandos del shell en ese punto son las mismas que en la solicitud original (la solicitud primaria$PS1
), lo que significa que la Tabtecla completaría el comando y el nombre de archivo como de costumbre.Para insertar un carácter de tabulación, use Ctrl+V Tabo use espacios para sangría. Los caracteres de tabulación (o cualquier otro carácter literal) siempre se pueden insertar si tienen el prefijo Ctrl+V.
Alternativamente, si está en el modo de edición de línea de comandos de Emacs (que creo que es el predeterminado
bash
), use Ctrl+X Ctrl+Epara abrir un editor para ingresar su comando. El editor utilizado será el especificado por laEDITOR
variable de shell / entorno, oemacs
si esta variable no está configurada.En el modo de edición de línea de comando Vi, presione Escape vpara hacer lo mismo.
El comando se ejecutará después de guardar y salir del editor.
fuente
set -o vi
y que le brinda la capacidad de usar los comandos de edición Vi / Vim en la línea de comando, como (Esc
)dw
para eliminar al final de la palabra actual, etc. Useset -o emacs
para volver al modo de edición de línea de comando de Emacs.Ctrl+X
Ctrl+E
, el shell lo abrirá por usted.