* bash and reverse-search-history @ 2006-04-21 12:43 Baurzhan Ismagulov 2006-04-21 15:13 ` Peter Dyballa 0 siblings, 1 reply; 15+ messages in thread From: Baurzhan Ismagulov @ 2006-04-21 12:43 UTC (permalink / raw) Hello all, I'm using bash inside emacs and want to use the reverse-search-history of bash, bound to C-r. Unfortunately, C-r is interpreted by emacs and doesn't apparently reach bash. How can I use this function of bash from within emacs? Thanks in advance, Baurzhan. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: bash and reverse-search-history 2006-04-21 12:43 bash and reverse-search-history Baurzhan Ismagulov @ 2006-04-21 15:13 ` Peter Dyballa 2006-04-21 15:43 ` Baurzhan Ismagulov 0 siblings, 1 reply; 15+ messages in thread From: Peter Dyballa @ 2006-04-21 15:13 UTC (permalink / raw) Cc: help-gnu-emacs Am 21.04.2006 um 14:43 schrieb Baurzhan Ismagulov: > I'm using bash inside emacs and want to use the reverse-search-history > of bash, bound to C-r. Unfortunately, C-r is interpreted by emacs and > doesn't apparently reach bash. How can I use this function of bash > from > within emacs? I don't know. By escaping? What is so bad about Emacs' own shell history? -- Greetings Pete Mac OS X is like a wigwam: no fences, no gates, but an apache inside. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: bash and reverse-search-history 2006-04-21 15:13 ` Peter Dyballa @ 2006-04-21 15:43 ` Baurzhan Ismagulov 2006-04-21 16:45 ` Drew Adams 2006-04-21 22:02 ` Kevin Rodgers 0 siblings, 2 replies; 15+ messages in thread From: Baurzhan Ismagulov @ 2006-04-21 15:43 UTC (permalink / raw) Hello Peter, On Fri, Apr 21, 2006 at 05:13:55PM +0200, Peter Dyballa wrote: > >I'm using bash inside emacs and want to use the reverse-search-history > >of bash, bound to C-r. Unfortunately, C-r is interpreted by emacs and > >doesn't apparently reach bash. How can I use this function of bash > >from > >within emacs? > > I don't know. By escaping? What is so bad about Emacs' own shell > history? Do you mean M-r? Two reasons: 1. It's not as convenient for me as the bash's one shows what it found as I type, and with emacs' one I have to modify regexp on the next run. 2. I couldn't find a way to search the whole bash history. When I type some expression that I know is in ~/.bash_history, emacs says "Not found". With kind regards, Baurzhan. ^ permalink raw reply [flat|nested] 15+ messages in thread
* RE: bash and reverse-search-history 2006-04-21 15:43 ` Baurzhan Ismagulov @ 2006-04-21 16:45 ` Drew Adams 2006-04-22 19:24 ` Baurzhan Ismagulov 2006-04-21 22:02 ` Kevin Rodgers 1 sibling, 1 reply; 15+ messages in thread From: Drew Adams @ 2006-04-21 16:45 UTC (permalink / raw) > >I'm using bash inside emacs and want to use the reverse-search-history > >of bash, bound to C-r. Unfortunately, C-r is interpreted by emacs and > >doesn't apparently reach bash. How can I use this function of bash > >from > >within emacs? > > I don't know. By escaping? What is so bad about Emacs' own shell > history? Do you mean M-r? Two reasons: 1. It's not as convenient for me as the bash's one shows what it found as I type, and with emacs' one I have to modify regexp on the next run. 2. I couldn't find a way to search the whole bash history. When I type some expression that I know is in ~/.bash_history, emacs says "Not found". I don't know if this helps you or not, but you might take a look. Icicles (a library for GNU Emacs) lets you search the entire history (your #2), updating matches as you type (your #1). I don't know what you mean by "have to modify regexp on the next run". Anyway, take a look: http://www.emacswiki.org/cgi-bin/wiki/Icicles_-_History_Enhancements. That discussion is in the middle of the Icicles doc, so if it's not immediately obvious how it could apply to your question you might read some of the introductory material. The doc entry point is here: http://www.emacswiki.org/cgi-bin/wiki/Icicles. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: bash and reverse-search-history 2006-04-21 16:45 ` Drew Adams @ 2006-04-22 19:24 ` Baurzhan Ismagulov 2006-04-22 20:27 ` Drew Adams 2006-04-22 21:29 ` Peter Dyballa 0 siblings, 2 replies; 15+ messages in thread From: Baurzhan Ismagulov @ 2006-04-22 19:24 UTC (permalink / raw) Hello Drew, On Fri, Apr 21, 2006 at 09:45:09AM -0700, Drew Adams wrote: > I don't know if this helps you or not, but you might take a look. Icicles (a > library for GNU Emacs) lets you search the entire history (your #2), > updating matches as you type (your #1). This looks interesting. I wanted to try it, however I couldn't find out how to invoke it. I downloaded the *.el files mentioned, put them into ~/.elisp/load, and added the following lines to my ~/.emacs: (add-to-list 'load-path (expand-file-name "~/.elisp/load")) (load-library "icicles.el") I start emacs, M-x shell RET, and get the shell prompt. I've read some of the wiki pages, but it isn't clear for me how I can use Icicles. The page about history doesn't mention shell at all, only minibuffer completions. Any idea? > I don't know what you mean by "have to modify regexp on the next run". In bash, you can press C-r, and type, e.g., "dpkg". As you type each character, bash shows the most recent command that matches the expression you've typed up to that moment. In emacs, I press M-r, it asks for a regexp, I type "dpkg". Nothing is updated as I type, emacs waits for me to press RET to start searching. I press RET, it finds the last dpkg command, which happens to be the 29th. I see it isn't what I was looking for, and want to repeat the search. I have to press M-r dpkg RET again (this is the "next run" I'd mentioned in the first posting; "modifying" it is about the case you are not satisfied with your initial regexp and want to enter a more specific one instead of the one you typed at first). Or, I can press M-r M-r RET RET, and emacs will search again. But only 32 commands back?! So, what I'm looking for is more or less exactly bash's C-r functionality. Can I perhaps just unbind emacs's C-r for shell buffers, so that the character is passed to bash? With kind regards, Baurzhan. ^ permalink raw reply [flat|nested] 15+ messages in thread
* RE: bash and reverse-search-history 2006-04-22 19:24 ` Baurzhan Ismagulov @ 2006-04-22 20:27 ` Drew Adams 2006-04-22 21:05 ` Baurzhan Ismagulov 2006-04-22 21:29 ` Peter Dyballa 1 sibling, 1 reply; 15+ messages in thread From: Drew Adams @ 2006-04-22 20:27 UTC (permalink / raw) Hello Baurzhan, > Icicles lets you search the entire history (your #2), > updating matches as you type (your #1). This looks interesting. I wanted to try it, however I couldn't find out how to invoke it. I downloaded the *.el files mentioned, put them into ~/.elisp/load, and added the following lines to my ~/.emacs: (add-to-list 'load-path (expand-file-name "~/.elisp/load")) (load-library "icicles.el") After you load Icicles you are automatically in Icicle mode, unless `define-minor-mode' is not defined in your version of Emacs, in which case you can put this in your .emacs (it doesn't hurt to do this anyway): (when (fboundp 'icicle-mode) (icicle-mode 99)). Whenever you are in Icicle mode, you will see "Icy" in the mode line minor-mode list. Command `icicle-mode' enters and exits the mode. In Icicle mode, minibuffer completion is enhanced in several ways, including matching minibuffer history items, with incremental update of the list of possible completions. I start emacs, M-x shell RET, and get the shell prompt. I've read some of the wiki pages, but it isn't clear for me how I can use Icicles. The page about history doesn't mention shell at all, only minibuffer completions. Any idea? I haven't used the Emacs shell in years. I guess I was thinking that you were inputting stuff through the minibuffer - sorry to have misled you. Icicles works with any minibuffer input, but I imagine that you won't get many Icicles features out of the box with comint (shell command line) completion, which does not use the minibuffer. I did enhance dabbrev completion (which, like comint completion, does not use the minibuffer) to be able to take advantage of some Icicles features, but I haven't yet done that for comint (shell) completion. Trying shell command completion just now, I notice that about the only thing you get for free is Icicles candidate cycling, which isn't all that helpful here. Comint completion apparently does its own matching, so it can't automatically take advantage of Icicles completion features like regexp matching. And there is no way to use the Icicles minibuffer history enhancements with the (non-minibuffer) shell history. With some Emacs-Lisp programming, you could probably cobble together some of the Icicles functions to get yourself something workable, but I'm sorry that I don't have time to work on this. So I guess the short answer is that you won't get what you want with Icicles, until I get around to tweaking comint completion so that it can use Icicles features. Sorry for the false route. In bash, you can press C-r, and type, e.g., "dpkg". As you type each character, bash shows the most recent command that matches the expression you've typed up to that moment. In emacs, I press M-r, it asks for a regexp, I type "dpkg". Nothing is updated as I type, emacs waits for me to press RET to start searching. I press RET, it finds the last dpkg command, which happens to be the 29th. I see it isn't what I was looking for, and want to repeat the search. I have to press M-r dpkg RET again (this is the "next run" I'd mentioned in the first posting; "modifying" it is about the case you are not satisfied with your initial regexp and want to enter a more specific one instead of the one you typed at first). Or, I can press M-r M-r RET RET, and emacs will search again. But only 32 commands back?! So, what I'm looking for is more or less exactly bash's C-r functionality. Can I perhaps just unbind emacs's C-r for shell buffers, so that the character is passed to bash? The incremental completion update you describe is available in Icicles (which is why I replied to you) for both standard prefix matching and regexp matching, but only for minibuffer completion. Sorry. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: bash and reverse-search-history 2006-04-22 20:27 ` Drew Adams @ 2006-04-22 21:05 ` Baurzhan Ismagulov 0 siblings, 0 replies; 15+ messages in thread From: Baurzhan Ismagulov @ 2006-04-22 21:05 UTC (permalink / raw) Hello Drew, On Sat, Apr 22, 2006 at 01:27:26PM -0700, Drew Adams wrote: > The incremental completion update you describe is available in Icicles > (which is why I replied to you) for both standard prefix matching and regexp > matching, but only for minibuffer completion. Sorry. No problem, I learned something new about emacs and tried a library that may be useful for me in the future. I appreciate your input! However, the question remains: I'm sure there is a way to unbind emacs's C-r for shell buffers only, so that the character is passed to bash. How can I do that? With kind regards, Baurzhan. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: bash and reverse-search-history 2006-04-22 19:24 ` Baurzhan Ismagulov 2006-04-22 20:27 ` Drew Adams @ 2006-04-22 21:29 ` Peter Dyballa 2006-04-22 21:53 ` Baurzhan Ismagulov 1 sibling, 1 reply; 15+ messages in thread From: Peter Dyballa @ 2006-04-22 21:29 UTC (permalink / raw) Cc: help-gnu-emacs Am 22.04.2006 um 21:24 schrieb Baurzhan Ismagulov: > I have to press M-r dpkg RET again Try repeat-complex-command: C-x ESC ESC, C-x M-:, C-x M-ESC. It is bound to <again>, <redo>. (I am using tcsh. GNU Emacs searches its history.) -- Greetings Pete Genius may have its limitations, but stupidity is not thus handicapped. -- Elbert Hubbard ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: bash and reverse-search-history 2006-04-22 21:29 ` Peter Dyballa @ 2006-04-22 21:53 ` Baurzhan Ismagulov 2006-04-22 22:21 ` Peter Dyballa 0 siblings, 1 reply; 15+ messages in thread From: Baurzhan Ismagulov @ 2006-04-22 21:53 UTC (permalink / raw) Hello Peter, On Sat, Apr 22, 2006 at 11:29:38PM +0200, Peter Dyballa wrote: > Try repeat-complex-command: C-x ESC ESC, C-x M-:, C-x M-ESC. It is > bound to <again>, <redo>. Thanks for the tip! I used to record macros for such things. W.r.t. history searching, I personally find this not that convenient compared to bash's C-r (and no advantage over M-r M-r RET RET, in terms of keystrokes required :) ). > (I am using tcsh. GNU Emacs searches its history.) How do you search beyond 32 commands back? With kind regards, Baurzhan. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: bash and reverse-search-history 2006-04-22 21:53 ` Baurzhan Ismagulov @ 2006-04-22 22:21 ` Peter Dyballa 2006-04-23 7:00 ` Baurzhan Ismagulov 0 siblings, 1 reply; 15+ messages in thread From: Peter Dyballa @ 2006-04-22 22:21 UTC (permalink / raw) Cc: help-gnu-emacs Am 22.04.2006 um 23:53 schrieb Baurzhan Ismagulov: > How do you search beyond 32 commands back? !<command> -- I use tcsh because Emacs fails here! Or I search in tcsh's history and repeat what was found there. -- Greetings Pete "One person with a belief is a social power equal to ninety-nine who have only interests." - John Stuart Mill ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: bash and reverse-search-history 2006-04-22 22:21 ` Peter Dyballa @ 2006-04-23 7:00 ` Baurzhan Ismagulov 0 siblings, 0 replies; 15+ messages in thread From: Baurzhan Ismagulov @ 2006-04-23 7:00 UTC (permalink / raw) Hello Peter, On Sun, Apr 23, 2006 at 12:21:55AM +0200, Peter Dyballa wrote: > >How do you search beyond 32 commands back? > > !<command> -- I use tcsh because Emacs fails here! Or I search in > tcsh's history and repeat what was found there. I see, screen is my friend :) . With kind regards, Baurzhan. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: bash and reverse-search-history 2006-04-21 15:43 ` Baurzhan Ismagulov 2006-04-21 16:45 ` Drew Adams @ 2006-04-21 22:02 ` Kevin Rodgers 2006-04-22 12:24 ` Baurzhan Ismagulov 1 sibling, 1 reply; 15+ messages in thread From: Kevin Rodgers @ 2006-04-21 22:02 UTC (permalink / raw) Baurzhan Ismagulov wrote: > 2. I couldn't find a way to search the whole bash history. When I type > some expression that I know is in ~/.bash_history, emacs says "Not > found". Does `C-h v comint-input-ring-file-name' in the *shell* buffer agree with "~/.bash_history"? -- Kevin Rodgers Sr. Software Engineer, IHS ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: bash and reverse-search-history 2006-04-21 22:02 ` Kevin Rodgers @ 2006-04-22 12:24 ` Baurzhan Ismagulov 0 siblings, 0 replies; 15+ messages in thread From: Baurzhan Ismagulov @ 2006-04-22 12:24 UTC (permalink / raw) Hello Kevin, On Fri, Apr 21, 2006 at 04:02:08PM -0600, Kevin Rodgers wrote: > > 2. I couldn't find a way to search the whole bash history. When I type > > some expression that I know is in ~/.bash_history, emacs says "Not > > found". > > Does `C-h v comint-input-ring-file-name' in the *shell* buffer agree > with "~/.bash_history"? The command produces the following output: comint-input-ring-file-name's value is "~/.bash_history" Local in buffer *shell*; global value is nil Documentation: *If non-nil, name of the file to read/write input history. See also `comint-read-input-ring' and `comint-write-input-ring'. This variable is buffer-local, and is a good thing to set in mode hooks. You can customize this variable. Defined in `comint'. I'm not sure what you mean by "agree". I'm able to scroll through .bash_history via M-p, but M-r finds only expressions that I typed during the current session. With kind regards, Baurzhan. ^ permalink raw reply [flat|nested] 15+ messages in thread
[parent not found: <mailman.700.1145623405.9609.help-gnu-emacs@gnu.org>]
* Re: bash and reverse-search-history [not found] <mailman.700.1145623405.9609.help-gnu-emacs@gnu.org> @ 2006-04-22 9:18 ` Gary Wessle 2006-04-22 12:21 ` Baurzhan Ismagulov 0 siblings, 1 reply; 15+ messages in thread From: Gary Wessle @ 2006-04-22 9:18 UTC (permalink / raw) Baurzhan Ismagulov <ibr@radix50.net> writes: > Hello all, > > I'm using bash inside emacs and want to use the reverse-search-history > of bash, bound to C-r. Unfortunately, C-r is interpreted by emacs and > doesn't apparently reach bash. How can I use this function of bash from > within emacs? > > Thanks in advance, > Baurzhan. Ctl up-arrow works for me. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: bash and reverse-search-history 2006-04-22 9:18 ` Gary Wessle @ 2006-04-22 12:21 ` Baurzhan Ismagulov 0 siblings, 0 replies; 15+ messages in thread From: Baurzhan Ismagulov @ 2006-04-22 12:21 UTC (permalink / raw) Hello Gary, On Sat, Apr 22, 2006 at 07:18:15PM +1000, Gary Wessle wrote: > > I'm using bash inside emacs and want to use the reverse-search-history > > of bash, bound to C-r. Unfortunately, C-r is interpreted by emacs and > > doesn't apparently reach bash. How can I use this function of bash from > > within emacs? > > Ctl up-arrow works for me. So does M-p for me, but that isn't incremental history search. With kind regards, Baurzhan. ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2006-04-23 7:00 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2006-04-21 12:43 bash and reverse-search-history Baurzhan Ismagulov 2006-04-21 15:13 ` Peter Dyballa 2006-04-21 15:43 ` Baurzhan Ismagulov 2006-04-21 16:45 ` Drew Adams 2006-04-22 19:24 ` Baurzhan Ismagulov 2006-04-22 20:27 ` Drew Adams 2006-04-22 21:05 ` Baurzhan Ismagulov 2006-04-22 21:29 ` Peter Dyballa 2006-04-22 21:53 ` Baurzhan Ismagulov 2006-04-22 22:21 ` Peter Dyballa 2006-04-23 7:00 ` Baurzhan Ismagulov 2006-04-21 22:02 ` Kevin Rodgers 2006-04-22 12:24 ` Baurzhan Ismagulov [not found] <mailman.700.1145623405.9609.help-gnu-emacs@gnu.org> 2006-04-22 9:18 ` Gary Wessle 2006-04-22 12:21 ` Baurzhan Ismagulov
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.