* "M-x shell" (was: Re: Redirecting the output of a commend in "shell" into a buffer) [not found] <mailman.8358.1409958182.1147.help-gnu-emacs@gnu.org> @ 2014-09-06 4:39 ` Emanuel Berg 2014-09-07 20:42 ` Marcin Borkowski ` (2 more replies) 0 siblings, 3 replies; 6+ messages in thread From: Emanuel Berg @ 2014-09-06 4:39 UTC (permalink / raw) To: help-gnu-emacs Robert Thorpe <rt@robertthorpeconsulting.com> writes: > You could modify these or advice them. Or you could > rebind RET. For example, suppose you create a new > "pseudo-command" called "buf". You write: "buf ls > RET" in the shell buffer. Your function finds the > "buf" at the beginning of the command string. It then > cuts out the rest and sends it to shell-command which > puts it in a separate buffer. Welcome back Mr. Thorpe, yes, but that would be in-Emacs, right? If so, isn't the eshell better? OT (or on topic): I would like a shell prompt in Emacs, but not like the IELM, instead as M-x, only the whole command and arguments! I did a thing on this with the help of an individual on this list: http://user.it.uu.se/~embe8573/conf/emacs-init/shell-cli.el It works for most cases... Try: man ls, find-file file.txt - only with replace regexp and such sometimes it works, sometimes not, I think because of quoting. Anyway such a feature should definitely be included in vanilla Emacs. For long commands it is just so much better to write it on one plate, instead of RET-ing it away on bit at a time, only at the second argument you have already forgotten what you were doing --- and, it is much easier to correct mistakes on the whole line than - yeah, how do you do that (repeat, but almost) in Emacs if a command didn't work and you know it is because of the second of third argument? Just think you had to do that in the shell - write one command/argument at a time, and RET for each? -- underground experts united ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: "M-x shell" (was: Re: Redirecting the output of a commend in "shell" into a buffer) 2014-09-06 4:39 ` "M-x shell" (was: Re: Redirecting the output of a commend in "shell" into a buffer) Emanuel Berg @ 2014-09-07 20:42 ` Marcin Borkowski [not found] ` <mailman.8415.1410122578.1147.help-gnu-emacs@gnu.org> 2014-09-08 23:20 ` "M-x shell" (was: Re: Redirecting the output of a commend in "shell" into a buffer) Robert Thorpe 2 siblings, 0 replies; 6+ messages in thread From: Marcin Borkowski @ 2014-09-07 20:42 UTC (permalink / raw) To: help-gnu-emacs Dnia 2014-09-06, o godz. 06:39:58 Emanuel Berg <embe8573@student.uu.se> napisał(a): > OT (or on topic): > > I would like a shell prompt in Emacs, but not like the > IELM, instead as M-x, only the whole command and > arguments! M-: anybody? ;-) Best, -- Marcin Borkowski http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski Adam Mickiewicz University ^ permalink raw reply [flat|nested] 6+ messages in thread
[parent not found: <mailman.8415.1410122578.1147.help-gnu-emacs@gnu.org>]
* Re: "M-x shell" (was: Re: Redirecting the output of a commend in "shell" into a buffer) [not found] ` <mailman.8415.1410122578.1147.help-gnu-emacs@gnu.org> @ 2014-09-07 21:36 ` Emanuel Berg 2014-09-08 4:51 ` "M-x shell" Alex Kost [not found] ` <mailman.8436.1410151900.1147.help-gnu-emacs@gnu.org> 0 siblings, 2 replies; 6+ messages in thread From: Emanuel Berg @ 2014-09-07 21:36 UTC (permalink / raw) To: help-gnu-emacs Marcin Borkowski <mbork@wmi.amu.edu.pl> writes: > M-: anybody? It is not the same. You have to put parenthesis around everything and quotation marks around data. Try it yourself, with my solution, this works: man ls But with M-: or eval-expression that'll be: (man "ls") And then, I don't see a real advantage to: M-x man RET ls RET -- underground experts united ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: "M-x shell" 2014-09-07 21:36 ` Emanuel Berg @ 2014-09-08 4:51 ` Alex Kost [not found] ` <mailman.8436.1410151900.1147.help-gnu-emacs@gnu.org> 1 sibling, 0 replies; 6+ messages in thread From: Alex Kost @ 2014-09-08 4:51 UTC (permalink / raw) To: help-gnu-emacs Emanuel Berg (2014-09-08 01:36 +0400) wrote: > Marcin Borkowski <mbork@wmi.amu.edu.pl> writes: > >> M-: anybody? > > It is not the same. You have to put parenthesis around > everything and quotation marks around data. Try it > yourself, with my solution, this works: > > man ls [...] "man ls" works in eshell ("M-x eshell"). ^ permalink raw reply [flat|nested] 6+ messages in thread
[parent not found: <mailman.8436.1410151900.1147.help-gnu-emacs@gnu.org>]
* Re: "M-x shell" [not found] ` <mailman.8436.1410151900.1147.help-gnu-emacs@gnu.org> @ 2014-09-08 21:41 ` Emanuel Berg 0 siblings, 0 replies; 6+ messages in thread From: Emanuel Berg @ 2014-09-08 21:41 UTC (permalink / raw) To: help-gnu-emacs Alex Kost <alezost@gmail.com> writes: > "man ls" works in eshell ("M-x eshell") Yes, if you have eshell accept oneliners in the metabuffer I'm happy! -- underground experts united ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: "M-x shell" (was: Re: Redirecting the output of a commend in "shell" into a buffer) 2014-09-06 4:39 ` "M-x shell" (was: Re: Redirecting the output of a commend in "shell" into a buffer) Emanuel Berg 2014-09-07 20:42 ` Marcin Borkowski [not found] ` <mailman.8415.1410122578.1147.help-gnu-emacs@gnu.org> @ 2014-09-08 23:20 ` Robert Thorpe 2 siblings, 0 replies; 6+ messages in thread From: Robert Thorpe @ 2014-09-08 23:20 UTC (permalink / raw) To: Emanuel Berg; +Cc: help-gnu-emacs Emanuel Berg <embe8573@student.uu.se> writes: > Robert Thorpe <rt@robertthorpeconsulting.com> writes: > >> You could modify these or advice them. Or you could >> rebind RET. For example, suppose you create a new >> "pseudo-command" called "buf". You write: "buf ls >> RET" in the shell buffer. Your function finds the >> "buf" at the beginning of the command string. It then >> cuts out the rest and sends it to shell-command which >> puts it in a separate buffer. > > Welcome back Mr. Thorpe, yes, but that would be > in-Emacs, right? If so, isn't the eshell better? Yes, but eshell has some disadvantages. The error messages aren't very clear. That's a problem for me because I make a lot of mistakes using the shell. Also, I sometimes use MS Windows where it's useful to have M-x shell go to the Windows shell (cmd.exe). Some other people may want to do it because they use a different shell and eshell mostly immitates bash. Looking at the code a bit more I think it's best to do it this way: * Rebind RET to a new function (only in shell mode, not in comint). * In the new function filter out all the special commands & deal with them. * In the new function pass through everything else to comint-send-input. BR, Robert Thorpe ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-09-08 23:20 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <mailman.8358.1409958182.1147.help-gnu-emacs@gnu.org> 2014-09-06 4:39 ` "M-x shell" (was: Re: Redirecting the output of a commend in "shell" into a buffer) Emanuel Berg 2014-09-07 20:42 ` Marcin Borkowski [not found] ` <mailman.8415.1410122578.1147.help-gnu-emacs@gnu.org> 2014-09-07 21:36 ` Emanuel Berg 2014-09-08 4:51 ` "M-x shell" Alex Kost [not found] ` <mailman.8436.1410151900.1147.help-gnu-emacs@gnu.org> 2014-09-08 21:41 ` Emanuel Berg 2014-09-08 23:20 ` "M-x shell" (was: Re: Redirecting the output of a commend in "shell" into a buffer) Robert Thorpe
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).