* Why function behaves differently when bound to different key combo? @ 2008-11-28 4:38 seberino 2008-11-28 6:22 ` Phil Carmody ` (2 more replies) 0 siblings, 3 replies; 7+ messages in thread From: seberino @ 2008-11-28 4:38 UTC (permalink / raw) To: help-gnu-emacs Normally incremental search can be repeated by pressing C-s multiple times. Why if I remap incremental search to C-f I CANNOT repeat it by pressing C-f multiple times?.... Here is how I remapped it... (global-set-key "\^f" 'isearch-forward) chris ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Why function behaves differently when bound to different key combo? 2008-11-28 4:38 Why function behaves differently when bound to different key combo? seberino @ 2008-11-28 6:22 ` Phil Carmody 2008-11-28 6:28 ` Andy Stewart 2008-11-28 14:00 ` Xah Lee 2 siblings, 0 replies; 7+ messages in thread From: Phil Carmody @ 2008-11-28 6:22 UTC (permalink / raw) To: help-gnu-emacs "seberino@spawar.navy.mil" <seberino@spawar.navy.mil> writes: > Normally incremental search can be repeated by pressing C-s multiple > times. > > Why if I remap incremental search to C-f I CANNOT repeat it by > pressing C-f multiple times?.... > > Here is how I remapped it... > > (global-set-key "\^f" 'isearch-forward) """ C-s runs the command isearch-forward which is an interactive compiled Lisp function in `isearch.el'. Do incremental search forward. With a prefix argument, do an incremental regular expression search instead. As you type characters, they add to the search string and are found. The following non-printing keys are bound in `isearch-mode-map'. """ And isearch-mode-map contains this: (19 . isearch-repeat-forward) (19 is C-s.) So you need to rebind that too. Phil -- I tried the Vista speech recognition by running the tutorial. I was amazed, it was awesome, recognised every word I said. Then I said the wrong word ... and it typed the right one. It was actually just detecting a sound and printing the expected word! -- pbhj on /. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Why function behaves differently when bound to different key combo? 2008-11-28 4:38 Why function behaves differently when bound to different key combo? seberino 2008-11-28 6:22 ` Phil Carmody @ 2008-11-28 6:28 ` Andy Stewart 2008-11-28 14:00 ` Xah Lee 2 siblings, 0 replies; 7+ messages in thread From: Andy Stewart @ 2008-11-28 6:28 UTC (permalink / raw) To: help-gnu-emacs Also binding C-f to `isearch-repeat-forward'. "seberino@spawar.navy.mil" <seberino@spawar.navy.mil> writes: > Normally incremental search can be repeated by pressing C-s multiple > times. > > Why if I remap incremental search to C-f I CANNOT repeat it by > pressing C-f multiple times?.... > > Here is how I remapped it... > > (global-set-key "\^f" 'isearch-forward) > > chris ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Why function behaves differently when bound to different key combo? 2008-11-28 4:38 Why function behaves differently when bound to different key combo? seberino 2008-11-28 6:22 ` Phil Carmody 2008-11-28 6:28 ` Andy Stewart @ 2008-11-28 14:00 ` Xah Lee 2008-11-28 20:54 ` isearch key bindings [was: Why function behaves differently when bound to different key combo?] Alan Mackenzie [not found] ` <mailman.1453.1227904853.26697.help-gnu-emacs@gnu.org> 2 siblings, 2 replies; 7+ messages in thread From: Xah Lee @ 2008-11-28 14:00 UTC (permalink / raw) To: help-gnu-emacs On Nov 27, 8:38 pm, "seber...@spawar.navy.mil" <seber...@spawar.navy.mil> wrote: > Normally incremental search can be repeated by pressing C-s multiple > times. > > Why if I remap incremental search to C-f I CANNOT repeat it by > pressing C-f multiple times?.... > > Here is how I remapped it... > > (global-set-key "\^f" 'isearch-forward) other mentioned you need to bind isearch-repeart-forward too, but that won't work if you just bind them to global map, because when you run isearch, you are technically in isearch mino mode. Here's what to do. for example, if you want M-s to be isearch, then do: (global-set-key (kbd "M-s") 'isearch-forward) (global-set-key (kbd "M-S") 'isearch-backward) (add-hook 'isearch-mode-hook (lambda () (define-key isearch-mode-map (kbd "M-s") 'isearch-repeat-forward) (define-key isearch-mode-map (kbd "M-S") 'isearch-repeat-backward) (define-key isearch-mode-map (kbd "M-n") 'forward-char) ; was isearch- ring-advance (define-key isearch-mode-map (kbd "M-p") 'kill-word) ; was isearch- ring-retreat (define-key isearch-mode-map (kbd "M-c") 'previous-line) ; was isearch-toggle-case-fold (define-key isearch-mode-map (kbd "M-r") 'forward-word) ; was isearch- toggle-regexp (define-key isearch-mode-map (kbd "M-e") 'delete-backward-char) ; was isearch-edit-string (define-key isearch-mode-map (kbd "<f11>") 'isearch-ring-retreat) (define-key isearch-mode-map (kbd "<f12>") 'isearch-ring-advance) ) ) more general guide here: • How to Define Keyboard Shortcuts in Emacs http://xahlee.org/emacs/keyboard_shortcuts.html • How To Reclaim Keybindings In Emacs http://xahlee.org/emacs/ergonomic_emacs_keybinding_minibuffer.html ----------------- PS when you look into isearch's map, you'll notice that it defines quite a lot other features/shortcuts. I'd say, 90% of them are never used once for those who have 4 years of emacs experience . For veteran emacs diehards, say those who used emacs over 10 years, if i can make a guess with my 10 years of daily emacs use and observation of other emacs users, i'd say 50% of the shortcuts provided by isearch are never used once in their life. These complexity and buried features should be reorganized. The proper isearch key should be Ctrl+f or Ctrl +g. That's the universal modern UI standard. Xah ∑ http://xahlee.org/ ☄ ^ permalink raw reply [flat|nested] 7+ messages in thread
* isearch key bindings [was: Why function behaves differently when bound to different key combo?] 2008-11-28 14:00 ` Xah Lee @ 2008-11-28 20:54 ` Alan Mackenzie [not found] ` <mailman.1453.1227904853.26697.help-gnu-emacs@gnu.org> 1 sibling, 0 replies; 7+ messages in thread From: Alan Mackenzie @ 2008-11-28 20:54 UTC (permalink / raw) To: Xah Lee; +Cc: help-gnu-emacs Well, good evening, Xah! On Fri, Nov 28, 2008 at 06:00:13AM -0800, Xah Lee wrote: > On Nov 27, 8:38 pm, "seber...@spawar.navy.mil" > <seber...@spawar.navy.mil> wrote: > > Normally incremental search can be repeated by pressing C-s multiple > > times. > > Why if I remap incremental search to C-f I CANNOT repeat it by > > pressing C-f multiple times?.... > > Here is how I remapped it... > > (global-set-key "\^f" 'isearch-forward) > other mentioned you need to bind isearch-repeart-forward too, but that > won't work if you just bind them to global map, because when you run > isearch, you are technically in isearch mino mode. > Here's what to do. for example, if you want M-s to be isearch, then > do: > (global-set-key (kbd "M-s") 'isearch-forward) > (global-set-key (kbd "M-S") 'isearch-backward) Yes, but why would anybody want M-s to be isearch? > (add-hook 'isearch-mode-hook > (lambda () > (define-key isearch-mode-map (kbd "M-s") 'isearch-repeat-forward) > (define-key isearch-mode-map (kbd "M-S") 'isearch-repeat-backward) > (define-key isearch-mode-map (kbd "M-n") 'forward-char) ; was isearch-ring-advance > (define-key isearch-mode-map (kbd "M-p") 'kill-word) ; was isearch- > ring-retreat > (define-key isearch-mode-map (kbd "M-c") 'previous-line) ; was > isearch-toggle-case-fold > (define-key isearch-mode-map (kbd "M-r") 'forward-word) ; was isearch- > toggle-regexp > (define-key isearch-mode-map (kbd "M-e") 'delete-backward-char) ; was > isearch-edit-string > (define-key isearch-mode-map (kbd "<f11>") 'isearch-ring-retreat) > (define-key isearch-mode-map (kbd "<f12>") 'isearch-ring-advance) > ) > ) If you put that functionality in isearch-mode-hook, you'll rebind these keys EVERY time you start an isearch. I suppose, with the power of modern PCs, you won't notice too much, but the cells in the isearch key map might get a little worn out. :-) > more general guide here: > ??? How to Define Keyboard Shortcuts in Emacs > http://xahlee.org/emacs/keyboard_shortcuts.html > ??? How To Reclaim Keybindings In Emacs > http://xahlee.org/emacs/ergonomic_emacs_keybinding_minibuffer.html > ----------------- > PS when you look into isearch's map, you'll notice that it defines > quite a lot other features/shortcuts. I'd say, 90% of them are never > used once for those who have 4 years of emacs experience . For veteran > emacs diehards, say those who used emacs over 10 years, if i can make > a guess with my 10 years of daily emacs use and observation of other > emacs users, i'd say 50% of the shortcuts provided by isearch are > never used once in their life. I think you're very wrong there. Different users will use different subsets of them, but do feel free to try to identify those which are never used. I think you'd be surprised. > These complexity and buried features should be reorganized. The proper > isearch key should be Ctrl+f or Ctrl +g. That's the universal modern UI > standard. Emacs UI is good rather than modern. The term "find" is less accurate than "search", because often the editor fails to find what you're looking for. But it always searches. C-s is thus more mnemonic. > Xah -- Alan Mackenzie (Nuremberg, Germany). ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <mailman.1453.1227904853.26697.help-gnu-emacs@gnu.org>]
* Re: isearch key bindings [was: Why function behaves differently when bound to different key combo?] [not found] ` <mailman.1453.1227904853.26697.help-gnu-emacs@gnu.org> @ 2008-11-30 2:38 ` Xah Lee 2008-11-30 15:22 ` Kevin Rodgers 0 siblings, 1 reply; 7+ messages in thread From: Xah Lee @ 2008-11-30 2:38 UTC (permalink / raw) To: help-gnu-emacs On Nov 28, 12:54 pm, Alan Mackenzie <a...@muc.de> wrote: > > (global-set-key (kbd "M-s") 'isearch-forward) > > (global-set-key (kbd "M-S") 'isearch-backward) > > Yes, but why would anybody want M-s to be isearch? isearch is one of the most frequently used command (roughly within top 15). See: • Emacs's Command Frequency http://xahlee.org/emacs/command-frequency.html under my ergonomic keybinding map, frequently used keys are on home row. So, isearch is on homerow, and it happens to be on key for the right pinky. On dvorak, that's s. I pulled the code example from my map, so that's how it's is s. • A Ergonomic Keyboard Shortcut Layout For Emacs http://xahlee.org/emacs/ergonomic_emacs_keybinding.html > If you put that functionality inisearch-mode-hook, you'll rebind these > keys EVERY time you start anisearch. I suppose, with the power of > modern PCs, you won't notice too much, but the cells in theisearchkey > map might get a little worn out. :-) Thanks. I haven't thought of that. I'll have to make it minor mode soon. > > PS when you look intoisearch'smap, you'll notice that it defines > > quite a lot other features/shortcuts. I'd say, 90% of them are never > > used once for those who have 4 years of emacs experience . For veteran > > emacs diehards, say those who used emacs over 10 years, if i can make > > a guess with my 10 years of daily emacs use and observation of other > > emacs users, i'd say 50% of the shortcuts provided byisearchare > > never used once in their life. > > I think you're very wrong there. Different users will use different > subsets of them, but do feel free to try to identify those which are > never used. I think you'd be surprised. Alan, do you have accumalated more keystroke for the stat? the best way to objectively find out what commands are actually most frequently used, is thru the stat program. If you could, please tell your friends, and other developers on the emacs list to try the command frequency.el. http://xahlee.org/emacs/command-frequency.el when we have a the stat from lots people, then a good look on emacs keybinding can be had. Xah ∑ http://xahlee.org/ ☄ ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: isearch key bindings [was: Why function behaves differently when bound to different key combo?] 2008-11-30 2:38 ` Xah Lee @ 2008-11-30 15:22 ` Kevin Rodgers 0 siblings, 0 replies; 7+ messages in thread From: Kevin Rodgers @ 2008-11-30 15:22 UTC (permalink / raw) To: help-gnu-emacs Xah Lee wrote: > On Nov 28, 12:54 pm, Alan Mackenzie <a...@muc.de> wrote: >> If you put that functionality inisearch-mode-hook, you'll rebind these >> keys EVERY time you start anisearch. I suppose, with the power of >> modern PCs, you won't notice too much, but the cells in theisearchkey >> map might get a little worn out. :-) > > Thanks. I haven't thought of that. I'll have to make it minor mode > soon. I think that's overkill, and that Alan was hinting that you could just move those define-key forms to the top level. (Since isearch is dumped into the emacs executable, isearch-mode-map is defined at startup.) Or you could be extra-safe and use eval-after-load. -- Kevin Rodgers Denver, Colorado, USA ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2008-11-30 15:22 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-11-28 4:38 Why function behaves differently when bound to different key combo? seberino 2008-11-28 6:22 ` Phil Carmody 2008-11-28 6:28 ` Andy Stewart 2008-11-28 14:00 ` Xah Lee 2008-11-28 20:54 ` isearch key bindings [was: Why function behaves differently when bound to different key combo?] Alan Mackenzie [not found] ` <mailman.1453.1227904853.26697.help-gnu-emacs@gnu.org> 2008-11-30 2:38 ` Xah Lee 2008-11-30 15:22 ` Kevin Rodgers
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).