[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Bash Script Editing Mode?
Re: Bash Script Editing Mode?
Thu, 07 Aug 2008 23:06:03 +0200
Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux)
formido <address@hidden> writes:
> There's a shell mode, but it has a prompt and doesn't help you
> incrementally create a shell script as efficiently as it could, unless
> I'm missing something. Is there any shell script mode that works more
> like the elisp, python, or erlang repls, where you can execute your
> choice of several lines at once and you can go back and edit and
> execute the lines in situ? If I write a bash function, editing and
> reloading the function is a painful process. I'm looking for something
> a little bit like the Mac's BBEdit shell worksheets (only better).
> I considered altering the usual shell mode, but it would take more
> than slight edits, so I'm hoping something's already out there. For
> example, one should be able to go back to a function, tweak it, and
> reload with a minimum of keyboard fuss.
May be that help:
,----[ C-h f shell-command-on-region RET ]
| shell-command-on-region is an interactive compiled Lisp function in
| It is bound to M-|, <menu-bar> <tools> <shell-on-region>.
| (shell-command-on-region start end command &optional output-buffer
| replace error-buffer display-error-buffer)
| Execute string command in inferior shell with region as input.
| Normally display output (if any) in temp buffer `*Shell Command Output*';
| Prefix arg means replace the region with it. Return the exit code of
| To specify a coding system for converting non-ASCII characters
| in the input and output to the shell command, use C-x RET c
| before this command. By default, the input (from the current buffer)
| is encoded in the same coding system that will be used to save the file,
| `buffer-file-coding-system'. If the output is going to replace the region,
| then it is decoded from that same coding system.
| The noninteractive arguments are start, end, command,
| output-buffer, replace, error-buffer, and display-error-buffer.
| Noninteractive callers can specify coding systems by binding
| `coding-system-for-read' and `coding-system-for-write'.
| If the command generates output, the output may be displayed
| in the echo area or in a buffer.
| If the output is short enough to display in the echo area
| (determined by the variable `max-mini-window-height' if
| `resize-mini-windows' is non-nil), it is shown there. Otherwise
| it is displayed in the buffer `*Shell Command Output*'. The output
| is available in that buffer in both cases.
| If there is output and an error, a message about the error
| appears at the end of the output.
| If there is no output, or if output is inserted in the current buffer,
| then `*Shell Command Output*' is deleted.
| If the optional fourth argument output-buffer is non-nil,
| that says to put the output in some other buffer.
| If output-buffer is a buffer or buffer name, put the output there.
| If output-buffer is not a buffer and not nil,
| insert output in the current buffer.
| In either case, the output is inserted after point (leaving mark after it).
| If replace, the optional fifth argument, is non-nil, that means insert
| the output in place of text from start to end, putting point and mark
| around it.
| If optional sixth argument error-buffer is non-nil, it is a buffer
| or buffer name to which to direct the command's standard error output.
| If it is nil, error output is mingled with regular output.
| If display-error-buffer is non-nil, display the error buffer if there
| were any errors. (This is always t, interactively.)
| In an interactive call, the variable `shell-command-default-error-buffer'
| specifies the value of error-buffer.
| This function is advised.
| Before-advice `shell-command-on-region-with-completion':
| Defined in shell-command.el, to enable tab-completion of commands
| and dir/filenames within the input context. This advice also makes
| `shell-command-on-region' to use this current buffer as its input when
| a region is visible and inactive.
| Its prompt string is kept by `shell-command-on-region-prompt' and
A + Thierry Volpiatto
Location: Saint-Cyr-Sur-Mer - France