[ESS] ~ symbol
Kasper Daniel Hansen
khansen at stat.Berkeley.EDU
Thu Jun 22 18:03:43 CEST 2006
On Jun 22, 2006, at 3:01 AM, Stephen Eglen wrote:
> Dear Giovanni,
>
>> something that looks very nasty to students).
>> Question: is there a simple method in ESS Emacs
>> to extend the wonderful mechanism of pressing underscore
>> to obtain <- ? For instance one could press another unused key
>> and obtain tilde. Or even press underscore three times-
>
> Try:
> (setq ess-S-assign "~")
>
> and then when you hit _ you get "~" rather than "<-".
>
> Beware though, I'm not sure if changing ess-S-assign will break other
> parts of ESS.
>
> (Making underscore cycle through three different items might be
> difficult).
My guess is that Giovanni wants to keep the assignment key as is, and
instead map a different non-used key to tilde.
This is in principle easy to do, I used to do it when I was on a
danish keyboard writing latex where \, {, } are accessible but
requires quite some arm twisting to get. You can do it two ways. One
is a global remap where it works in all of Emacs and one is a mode
remap where it depends on the mode you are in.
Here are (some) of my code for LaTeX. And there are as far as I know
several ways to do the code, this is just one of them
(add-hook 'LaTeX-mode-hook
'(lambda nil
(define-key LaTeX-mode-map [?\'] '(lambda () (interactive)
(insert "{")))
))
This remaps the ' key to { but only in LaTeX-mode. You need to
replace LaTeX-mode with ess-mode. And I do not know if you need
several modes or whether all the ESS modes are under one hook (as you
know there are modes for .Rd, .R and an R session. And transcript.
And perhaps more I forgot).
Often I make two remaps A->B and B->A so I switch the keys. But since
you do not have the key to begin with, you probably just need one
way. Or you could think about investigation getting some CTRL, META
etc + key to get you the original value (beware of other conflicts).
The sky is the limit, the biggest problem is selecting which keys to
map to which symbols.
The biggest problem is usually finding the "key-code" associated with
the key you are pressing. Especially if you start to play with
modifier keys. Most of the keys are straightforward, but in my
experience I always wanted to remap less-used keys which sometimes
made it a bit more challenging. There is a way to get Emacs to report
which symbol corresponds to which key-press but again I forgot how
(actually it may be a function I found somewhere on the internet, he
details are hazy).
A global change needs something like
(global-set-key [\C-home] 'beginning-of-buffer)
Well, I hope this was at least a pointer.
>
> Stephen
>
> ______________________________________________
> ESS-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/ess-help
More information about the ESS-help
mailing list