Vorrei chiedere agli utenti ESS/R regolari quali associazioni di tasti utilizzano frequentemente e suggerimenti sull'utilizzo di ESS/R.Utili scorciatoie da tastiera e suggerimenti per ESS/R
risposta
ho impostato diversi collegamenti in il mio file .emacs. Il più utili sono:
C-tab per passare dalla riga di comando R e il file (simile a Josh risposta, ma molto più veloce):
(global-set-key [C-tab] 'other-window)
di controllo e tasti su/giù per cercare la storia coordinata con quello che hai già scelto:
(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)
Commento-uncomment una regione selezionata 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)
Inoltre ho anche attivato la modalità CUA (dal menu opzioni) e riconfigurato un sacco di scorciatoie da richiedere solo due sequenze di tasti (invece di quattro in modalità standard):
;; 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)
Troverete scorciatoie molti altri utili in ESS documentation.
Cc Cz ess-switch-to-end-of-ESS
è bello per saltare da file di origine che si sta modificando foo.R alla console R
Ho trovato questo collegamento estremamente utile. Fornisce il codice elisp per fare in modo che Shift + Enter esegua molte attività comuni in modo dipendente dal contesto.
http://kieranhealy.org/blog/archives/2009/10/12/make-shift-enter-do-a-lot-in-ess/
Grande roba, hanno usata per secoli. Sfortunatamente a partire dal 15-11-2013 il binding della chiave di uncomment potrebbe non funzionare a causa di modifiche EMACS (penso che almeno funzionasse prima che avessi caricato l'ultima versione). Questo perché la funzione uncomment predefinita ha 3 argomenti ma quella definita sopra ha 2. Il modo migliore per risolvere questo problema è semplicemente eliminare la funzione uncomment dal codice e mantenere la combinazione di tasti, quindi usa la funzione uncomment predefinita. O in altre parole basta usare questo:
- (define-chiave ess-mode-map (kbd "Cd") 'commento-regione)
- (define-chiave ess-mode-map (kbd "CSD ")" uncomment-region)
Mn e Mp nella console ESS R per il comando successivo/precedente.
- 1. Implementare Scorciatoie da tastiera
- 2. scorciatoie da tastiera Eclipse per VisualStudio
- 3. Suggerimenti per le scorciatoie da tastiera VS + Resharper su un Mac
- 4. Visual Studio 2015 Scorciatoie da tastiera strane
- 5. PyQt5: scorciatoie da tastiera con QAction
- 6. Sovrascrittura delle scorciatoie da tastiera del browser
- 7. MenuItem scorciatoie da tastiera in MVVM 'puro'?
- 8. Scorciatoie da tastiera esterna nella tabella
- 9. Le scorciatoie più utili (produttive) in Qt Creator
- 10. Eclipse - Elenco delle scorciatoie da tastiera predefinite
- 11. Come programmare scorciatoie da tastiera personalizzate
- 12. Ace Editor e Vim scorciatoie da tastiera: utilizzando: w comando
- 13. Scorciatoie da tastiera Eclipse per la visualizzazione di confronto/diff?
- 14. Creazione di scorciatoie da tastiera per l'app HTML5?
- 15. Scorciatoie da tastiera HTML in Sublime Text 2?
- 16. Eclipse sul Mac ... usando le scorciatoie da tastiera di Windows?
- 17. Assegnazione di scorciatoie da tastiera a componenti QML
- 18. Mappatura delle scorciatoie da tastiera di Visual Studio in Xcode
- 19. Come implementare le scorciatoie da tastiera sui siti Web
- 20. Come disabilitare le scorciatoie da tastiera in Matplotlib?
- 21. jQuery UI datepicker: Configura le scorciatoie da tastiera
- 22. Quali sono le scorciatoie da tastiera VS 2015 Task Runner?
- 23. Come disabilitare le scorciatoie da tastiera in mac os x
- 24. Carica file nella pagina HTML5 utilizzando le scorciatoie da tastiera
- 25. Qualsiasi buona implementazione di scorciatoie da tastiera in stile Fogbugz?
- 26. IntelliJ Idea scorciatoie con tastiera non statunitense
- 27. ReSharper rompe le scorciatoie da tastiera per "Trova" e "Cerca nei file"
- 28. Quali sono le scorciatoie da tastiera cross-browser e cross-OS utilizzabili per l'applicazione Web?
- 29. Ignora le scorciatoie del browser con le mie scorciatoie personalizzate
- 30. Disabilita UITextField suggerimenti di scelta rapida da tastiera
Posso modificare Ctrl r per ess-eval-line-and-step quando nessun codice è selezionato ed ess-eval-region quando il codice è selezionato? Questo renderà più simile a Rgui.exe. – ggg
Sono state apportate modifiche al codice precedente di recente? Quando ho provato a usare questi binding di tasti (su Windows), c'è stato un errore nelle mappe in modalità comint e in quelle in ess-mode-map. – Anusha
Su emacs 24 (osx 10.10) la funzione uncomment-region segnala un errore: numero errato di argomenti. – qed