[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: redefine C-h
From: |
YSK |
Subject: |
Re: redefine C-h |
Date: |
Sun, 10 Aug 2008 18:00:35 -0700 (PDT) |
User-agent: |
G2/1.0 |
On Aug 10, 8:41 pm, "Drew Adams" <drew.ad...@oracle.com> wrote:
>
> Icicles does not bind `C-h'. `C-h' with Icicle mode is the same as it is
> without
> it. (*)
Drew,
I must have turned on an icicles setting to override these keys, since
commenting out these lines in icicles-mode.el gave me the C-h behavior
I was looking for:
; (icicle-remap 'where-is 'icicle-
where-is
; icicle-mode-map (current-global-map)) ; `C-h w'
and
; (define-key icicle-mode-map "\C-h\C-o" 'icicle-describe-option-
of-type) ; `C-h C-o'
I'm not exactly sure why, actually. Possibly I made another change at
around the same time that I can't recall right now that actually
"fixed" my C-h issue.
> If `C-h' remains a prefix key after your customizations, I am sure that has
> nothing to do with Icicles. And, as others have pointed out, [C-h] is not what
> you want anyway - use [(control ?h)] or "\C-h" or (kbd "C-h") or [?\C-h] or...
> And you should also customize `help-char', as Kevin pointed out.
>
> Similarly, for `C-M-h': Icicles should not affect it. Your binding of `C-M-h'
> to
> `help-command' should work OK everywhere. Is that not what you see?
Yes, C-M-h worked correctly right away. It's the 'C-h' rebinding that
was not taking.
>
> Icicle mode does, however make some changes in the minibuffer keymaps. One
> that
> is pertinent here is that it remaps command `delete-backward-char' to
> `icicle-delete-backward-char' in the minibuffer completion keymaps. This is so
> that whenever you delete a character in the minibuffer the set of candidate
> completions is updated to reflect your edited input.
>
> This is as it should be. This does not, however, affect the binding of
> `delete-backward-char' outside of the minibuffer. And it does not even affect
> its binding in the minibuffer, except during completion.
Yes..I would prefer to keep the iciciles minibuffer features intact
since I do use icicles entirely for its minibuffer enhancements.
>
> If you successfully change the binding of `delete-backward-char' to `C-h',
> then,
> because Icicle mode remaps this to `icicle-delete-backward-char' in the
> minibuffer during completion, `C-h' during completion will delete a minibuffer
> character and update the set of completion candidates.
>
> IIUC, that should be just what you're after: `C-h' will always delete the
> character before point. In the minibuffer, it will also update the completion
> candidates - but that's the only difference.
In my current setup, C-h does do the right thing in the minibuffer -
delete the char before point, and update the completion list.
> You can easily see all of this for yourself if you load library `help-fns+.el'
> (**) and then use `C-h M-k' (`describe-keymap'). You can use `C-h C-k' to show
> `icicle-mode-map' and each of the minibuffer maps: `minibuffer-local-map',
> `minibuffer-local-completion-map', and so on. Quit Icicle mode and check the
> minibuffer maps again, to see the difference. Check `global-map' too, to see
> whether your customizations have really taken effect as you expect.
> `describe-keymap' is your friend.
Thanks for the tip..I will give help-fns+.el a spin; it looks handy.
>
> You should be able to get what you want and still use Icicles, without any
> difficulty. If you have questions, feel free to ask. If you see a problem,
> please file a bug report: `M-x icicle-send-bug-report'.
>
> ----
> (*) In Icicle mode, these two `C-h' bindings are changed, but only if you so
> choose - see option `icicle-top-level-key-bindings':
>
> `C-h C-o' - `icicle-describe-option-of-type'
> `C-h w' - `icicle-where-is' (multi-command version of `where-is')
>
> (**) `help-fns+.el' is available
> here:http://www.emacswiki.org/cgi-bin/wiki/help-fns%2b.el