2009-12-09 31 views
13

En modo sh en Emacs, estaba buscando una forma de ejecutar un script de shell en el búfer actual directamente como el C-c C-c en el modo Python. Usando M-! es realmente agotador Cualquier cantidad de Google no ayuda. es posible?Emacs: Ejecutar código en modo shell-script

Respuesta

11

es shell-command-on-region

por lo que si se desea ejecutar el búfer entero, C-x h M-| o puede volver a enlazar a algo más conveniente.

+0

Mmm ... Aparece el mensaje "** Comando de shell en la región: **" en el mini-buffer. ¿Cómo se supone que esto funcione? Pensé que la región seleccionada se iba a ejecutar en un shell ... – nephewtom

+1

@nephewtom simplemente escriba 'sh' en el prompt y luego el contenido del buffer se ejecutará a través del shell – tlegutko

+0

Gracias @tlegutko! – nephewtom

1

Rebind M-! a algo que le guste más, puede hacerlo en el mapa de teclas local para afectar el búfer del shell.

6

Cuando estoy editando un script de shell llamado foo.sh, configuro la variable compile-command en "foo.sh". Luego, C-c m (compilar) o C-c r (recompilar) ejecuta la secuencia de comandos. C-c m me permite agregar o modificar argumentos al script antes de ejecutarlo, C-c r lo ejecutará con los últimos argumentos utilizados.