[ESS] shift-return key binding on ESS Wiki, .R versus .Rnw

David Afshartous david.r.afshartous at Vanderbilt.Edu
Wed Dec 22 17:46:39 CET 2010


Nice, that did it, thanks!

On 12/22/2010 10:35 AM, Erik Iverson wrote:
> David,
>
> I did not test this at all, but to get started, I notice
> there is a variable called Rnw-mode-hook, which is run before
> entering a buffer into Rnw-mode. So you could try as a first
> step:
>
>      (add-hook 'Rnw-mode-hook
>            '(lambda()
>               (local-set-key [(shift return)] 'my-ess-eval)))
>
> Hope that helps,
> --Erik
>
> David Afshartous wrote:
>> All,
>> There is a nice shift-return key binding described on the ESS Wiki
>> (http://www.emacswiki.org/emacs/EmacsSpeaksStatistics#toc3).  I added it
>> (shown below) to my .emacs file; it works but only for .R files.  What
>> would be the most direct way to change it such that it also works for
>> .Rnw files?  (I tried a few things but nothing has worked so far)
>> Thanks,
>> David
>>
>>
>>
>>    (setq ess-ask-for-ess-directory nil)
>>    (setq ess-local-process-name "R")
>>    (setq ansi-color-for-comint-mode 'filter)
>>    (setq comint-prompt-read-only t)
>>    (setq comint-scroll-to-bottom-on-input t)
>>    (setq comint-scroll-to-bottom-on-output t)
>>    (setq comint-move-point-for-output t)
>>
>>    (defun my-ess-start-R ()
>>      (interactive)
>>      (if (not (member "*R*" (mapcar (function buffer-name) (buffer-list))))
>>        (progn
>>      (delete-other-windows)
>>      (setq w1 (selected-window))
>>      (setq w1name (buffer-name))
>>      (setq w2 (split-window w1))
>>      (R)
>>      (set-window-buffer w2 "*R*")
>>      (set-window-buffer w1 w1name))))
>>
>>    (defun my-ess-eval ()
>>      (interactive)
>>      (my-ess-start-R)
>>      (if (and transient-mark-mode mark-active)
>>      (call-interactively 'ess-eval-region)
>>        (call-interactively 'ess-eval-line-and-step)))
>>
>>    (add-hook 'ess-mode-hook
>>          '(lambda()
>>             (local-set-key [(shift return)] 'my-ess-eval)))
>>
>>    (add-hook 'inferior-ess-mode-hook
>>          '(lambda()
>>             (local-set-key [C-up] 'comint-previous-input)
>>             (local-set-key [C-down] 'comint-next-input)))
>>    (require 'ess-site)
>>
>>
>>


-- 
David Afshartous, Ph.D.
Research Associate Professor
School of Medicine
Department of Biostatistics
Vanderbilt University



More information about the ESS-help mailing list