Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>I have set several shortcuts in my .emacs file. The most useful are:</p> <p>C-tab to switch between the R command line and the file (similar to josh answer, but much faster):</p> <pre><code>(global-set-key [C-tab] 'other-window) </code></pre> <p>Control and up/down arrow keys to search history with matching what you've already typed:</p> <pre><code>(define-key comint-mode-map [C-up] 'comint-previous-matching-input-from-input) (define-key comint-mode-map [C-down] 'comint-next-matching-input-from-input) </code></pre> <p>Comment-uncomment a selected region with C-d or C-maj-d</p> <pre><code>(defun uncomment-region (beg end) "Like `comment-region' invoked with a C-u prefix arg." (interactive "r") (comment-region beg end -1)) (define-key ess-mode-map (kbd "C-d") 'comment-region) (define-key ess-mode-map (kbd "C-S-d") 'uncomment-region) </code></pre> <p>Also I've also enabled CUA mode (from options menu) and reconfigured quite a lot of shortcuts to require only two keystrokes (instead of four in standard mode):</p> <pre><code>;; Delete selection when pressing [delete] key (delete-selection-mode t) ;; ESS Mode (.R file) (define-key ess-mode-map "\C-l" 'ess-eval-line-and-step) (define-key ess-mode-map "\C-p" 'ess-eval-function-or-paragraph-and-step) (define-key ess-mode-map "\C-r" 'ess-eval-region) ;; iESS Mode (R console) (define-key inferior-ess-mode-map "\C-u" 'comint-kill-input) (define-key inferior-ess-mode-map "\C-w" 'backward-kill-word) (define-key inferior-ess-mode-map "\C-a" 'comint-bol) (define-key inferior-ess-mode-map [home] 'comint-bol) ;; Comint Mode (R console as well) (define-key comint-mode-map "\C-e" 'comint-show-maximum-output) (define-key comint-mode-map "\C-r" 'comint-show-output) (define-key comint-mode-map "\C-o" 'comint-kill-output) ;; Search with C-f / C-F (control-maj-F for backware search) (global-set-key "\C-f" 'isearch-forward) (global-set-key (kbd "C-S-f") 'isearch-backward) (define-key isearch-mode-map "\C-f" 'isearch-repeat-forward) (define-key isearch-mode-map (kbd "C-S-f") 'isearch-repeat-backward) ;; Save with C-s / C-S (global-set-key (kbd "C-s") 'save-buffer) (global-set-key (kbd "C-S-s") 'write-file) ;; need to redefine them for isearch mode (don't know why) (define-key isearch-mode-map (kbd "C-s") 'save-buffer) (define-key isearch-mode-map (kbd "C-S-s") 'write-file) ;; Pause = dedicate window. (defun toggle-current-window-dedication () (interactive) (let* ((window (selected-window)) (dedicated (window-dedicated-p window))) (set-window-dedicated-p window (not dedicated)) (message "Window %sdedicated to %s" (if dedicated "no longer " "") (buffer-name)))) (global-set-key [pause] 'toggle-current-window-dedication) ;; delete = delete (global-set-key [delete] 'delete-char) ;; C-b = list buffers (global-set-key (kbd "C-b") 'bs-show) </code></pre> <p>You will find many more useful shortcuts in <a href="http://ess.r-project.org/Manual/ess.html" rel="noreferrer">ESS documentation</a>.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload