teclas teclado sirve que power para funcion cs6 combinaciones comandos atajos emacs r elisp ess

emacs - teclado - ctrl+enter para que sirve



Ăštiles atajos de teclado y consejos para ESS/R (5)

Cc Cz ess-switch-to-end-of-ESS

Es bueno saltar desde el archivo fuente que está editando foo.R a la consola R

Me gustaría preguntar a los usuarios habituales de ESS / R qué enlaces de claves utilizan con frecuencia y consejos sobre cómo usar ESS / R.


Grandes cosas, las he estado usando por años. Desafortunadamente, a partir del 15-11-2013, el enlace de la clave de descomención puede no funcionar debido a los cambios de EMACS (creo que, al menos, estaba funcionando antes de cargar la última versión). Esto se debe a que la función de omisión de comentarios predeterminada tiene 3 argumentos, pero la definida anteriormente tiene 2. La mejor manera de solucionar esto es simplemente eliminar la función de comentarización del código y conservar la combinación de teclas, por lo que utiliza la función de comentarización predeterminada. O en otras palabras, simplemente use esto:

  • (define-clave ess-mode-map (kbd "Cd") ''comentario-región)
  • (define-key ess-mode-map (kbd "CSd") ''uncomment-region)


He establecido varios accesos directos en mi archivo .emacs. Los más útiles son:

C-tab para cambiar entre la línea de comando R y el archivo (similar a la respuesta de josh, pero mucho más rápido):

(global-set-key [C-tab] ''other-window)

Controle y presione las teclas de flecha arriba / abajo para buscar en el historial que coincidan con lo que ya ha escrito:

(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)

Comentar-descomentar una región seleccionada con Cd o C-maj-d

(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)

También he habilitado el modo CUA (desde el menú de opciones) y he reconfigurado muchos accesos directos para requerir solo dos pulsaciones (en lugar de cuatro en el modo estándar):

;; 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)

Encontrará muchos más atajos útiles en la documentación de ESS .


Mn y Mp en la consola ESS R para el siguiente / anterior comando.