2012-10-14 21 views
8

Próbuję zoptymalizować moje środowisko ESS - R. Do tej pory korzystam z r-autoyas, ustawiam intendację i rzeczy następujące po style guides, w mini-buforze są wskazówki eldoc dla argumentów funkcji i mam opcję press a key, aby znaleźć informacje o zmiennej w punkcie (więcej here) .Dostosowywanie środowiska ESS dla R

Czy są jakieś inne rzeczy, których używasz, aby mieć ładne środowisko R? Być może ludzie spoza ESS mają kilka fajnych rzeczy do dodania (otrzymałem informację o zmiennej w punkcie od spojrzenia na Eclipsera). Jednym z przykładów może być łatwy sposób wstawiania zmiennych "tuż przed zdefiniowaniem" bez wpisywania nazwy zmiennej (czy powinno być coś takiego?).

(Proszę mi pomóc zmienić pytanie zamiast „zamknięcie” wątku, jeśli nie jest dobrze sformułowany)

+0

można lepiej opisać co ty optymalizacji szukasz? Ja - i być może inni ludzie - nie znam ESS. Czy możesz to opisać? Na koniec, czy mógłbyś wymienić listę poleceń, które już zrobiłeś, aby ją zoptymalizować - a nie w sposób opisowy? – Ali

+0

Zaktualizowałem post z linkami do przykładów, o których wspomniałem. W przyjemnym środowisku R po prostu chcę sprawić, by było tak wygodne i szybkie, jak to tylko możliwe. Osoby nieznane z ESS mogą wspomnieć o swoim ulubionym rozszerzeniu/funkcji/wtyczce swojego środowiska R, które pomaga im zoptymalizować przepływ pracy. – PascalVKooten

+1

Czy próbowałeś już R-Studio? Myślę, że to jeden z najlepszych IDE dla R. – Ali

Odpowiedz

7

nie używam autoyas jak znajdę auto-complete integration lepsze podejście.

Umieszczenie wcześniej zdefiniowanych symboli jest ogólną funkcjonalnością emacs o nazwie "dabbrev-expand" i jest powiązane z M-/. Mam to w moim .emacs aby to zupełny na pełnych symboli:

(setq dabbrev-abbrev-char-regexp "\\sw\\|\\s_\\|s.") 
(setq dabbrev-case-fold-search t) 

Inną rzeczą, która jest intensywnie używam imenu-based-jump-to-symbol-definition. Oferuje podobną funkcjonalność do znaczników emacs, ale tylko do otwartych buforów w tym samym trybie co bieżący bufor. Wykorzystuje również IDO zapytań:

imenu-anywhere screenshot

Put imenu-anywhere.el na swojej drodze emacs obciążenia i dodać:

(require 'imenu-anywhere) 
(global-set-key [?\M-o] 'imenu-anywhere) 

Teraz, jeśli zrobić Mo foo RET emacs przeskakuje do funkcja/klasa/metoda/ogólna definicja "foo", o ile "foo" jest zdefiniowane w jednym z otwartych buforów. Działa to oczywiście zawsze, gdy tryb definiuje znaczniki imenu. ESS definiuje je, więc nie trzeba dodawać więcej.

Istnieje również kolekcja szablonów R-yas. Nie zacząłem używać ich, ale domyślam się, że jest to całkiem skuteczny mechanizm wstawiania szablonów.

[edytuj] Aktywacja tracebug:

(setq ess-use-tracebug t) 
+0

Czy możesz rozwinąć "wcześniej zdefiniowane symbole, M- /"?Nie wydaje mi się, żeby to działało ("brak dynamicznej rozbudowy dla X"). – PascalVKooten

+0

Czy możesz również wyjaśnić, jak dodać znacznik imenu? czytanie imenu-anywhere.el nie pomaga. – PascalVKooten

+0

, że autouzupełnianie naprawdę wydaje się przydatne tutaj! – PascalVKooten

Powiązane problemy