Po chwili grzebania z Vima i R, postanowiłem rzucić to podejście. Czułem, że ta kombinacja nie jest wystarczająco dojrzała do produkcji. Więc próbowałem znaleźć i znaleźć EMACS + ESS. Tak, emacs jest rywalem Vima jako programisty/maniaka. I zdaje się, że jestem zdrajcą Vima, który skacze do Emacsa, gdy obaj są na wojnie :-) To nie musi tak być.
Najpierw zainstalowałem emacs i ess plugin/package i próbowałem poznać podstawy. Byłem bardzo szczęśliwy, że ESS jest znacznie bardziej dojrzały niż vimR. Sposób, w jaki emacs działa z pakietami i konfiguracją, sprawia, że jestem o wiele bardziej szczęśliwy niż wtedy, gdy użyłem Vima. Dzieje się tak częściowo dlatego, że mam podstawową wiedzę i chciałem poradzić sobie z ELISP, wariantem języka programowania LISP, który jest stworzony dla Emacsa. Porada dla kogoś ma jednak umiejętności Vima: od razu zainstaluj pakiet Evil
, abyś miał moc szybkiej edycji w Vimie, ale całą paczkę innych wspaniałych rzeczy, tj. Solidność, drobną personalizację, dokumentację na miejscu . Omówiłem wiele rzeczy na temat Emacsa i ESS tutaj na stackoverflow.com i na emacs.stackexchange.com też. Podstawową konfiguracją programatora R jest:
Emacs, ESS, Evil, Helm*, auto-complete, auctex, polymode, r-autoyas
. Poniżej znajduje się pełna lista dodatkowych pakietów, które zainstalowałem. Ten, który pozwala mi edytować i uruchamiać kod na serwerze zdalnym, nazywa się tramp
z X-przekierowaniem. Wezmę więcej na ten temat, jeśli będą prośby.
ac-ispell 0.7 installed ispell completion source for auto-complete
async 1.3 installed Asynchronous processing in Emacs
auctex 11.88.6 installed Integrated environment for *TeX*
auto-complete 1.5.0 installed Auto Completion for GNU Emacs
auto-complete-e... 0.0.7 installed Exuberant ctags auto-complete.el source
auto-complete-pcmp 0.0.2 installed Provide auto-complete sources using pcomplete results
auto-dictionary 1.1 installed automatic dictionary switcher for flyspell
auto-package-up... 1.4 installed Automatically update Emacs packages.
auto-yasnippet 0.3.0 installed Quickly create disposable yasnippets
bash-completion 2.0.0 installed BASH completion for the shell buffer
bind-key 20140601 installed A simple way to manage personal keybindings
bog 1.0.0 installed Extensions for research notes in Org mode
bongo 1.0 installed play music with Emacs
boon 0.1 installed Ergonomic Command Mode for Emacs.
bug-hunter 0.5 installed Hunt down errors in elisp files
calfw 1.4 installed Calendar view framework on Emacs
column-enforce-... 20140902.949 installed Highlight text that extends beyond a column
column-marker 20121128.843 installed Highlight certain character columns
company 0.8.12 installed Modular text completion framework
ctable 20140304.1659 installed Table component for Emacs Lisp
ctags 1.1.1 installed No description available.
ctags-update 0.2.0 installed (auto) update TAGS in parent directory using exuberant-ctags
cython-mode 0.23.2.2 installed Major mode for editing Cython files
d-mode 2.0.6 installed D Programming Language mode for (X)Emacs
dash 2.11.0 installed A modern list library for Emacs
diminish 0.44 installed Diminished modes are minor modes with no modeline display
discover 0.3 installed discover more of Emacs
el-autoyas 0.5 installed Automatically create Emacs-Lisp Yasnippets
elpy 1.8.1 installed Emacs Python Development Environment
epl 71.4.8098 installed Emacs Package Library
ess 20150810.826 installed Emacs Speaks Statistics
ess-R-data-view 20130509.458 installed Data viewer for GNU R
ess-R-object-popup 20130302.336 installed popup description of R object
ess-smart-equals 20150201.2201 installed better smart-assignment with =-key in R and S
ess-smart-under... 20131229.1851 installed Ess Smart Underscore
evil 20150810.426 installed Extensible Vi layer for Emacs.
evil-leader 20140606.543 installed let there be <leader>
evil-org 20150513.1610 installed evil keybindings for org-mode
expand-region 20150804.2210 installed Increase selected region by semantic units.
f 20150605.927 installed Modern API for working with files and directories
find-file-in-pr... 20150722.2347 installed Find files in a project quickly.
flx 20140921.739 installed fuzzy matching with good sorting
flx-ido 20140821.2033 installed flx integration for ido
ggtags 20150718.2227 installed emacs frontend to GNU Global source code tagging system
gh 20150126.1125 installed A GitHub library for Emacs
git 20140128.241 installed An Elisp API for programmatically using Git
git-auto-commit... 20150404.751 installed Emacs Minor mode to automatically commit and push
git-commit 20150805.2024 installed Edit Git commit messages
git-commit-mode 1.0.0 installed Major mode for editing git commit messages
git-messenger 20150314.602 installed Pop up last commit information of current line
goto-chg 20131228.1459 installed goto last change
helm 20150805.54 installed Helm is an Emacs incremental and narrowing framework
helm-ack 20141030.526 installed Ack command with helm interface
helm-core 20150805.206 installed Development files for Helm
helm-github-stars 20150625.1523 installed Helm integration for your starred repositories on github
helm-mode-manager 20140224.1504 installed Select and toggle major and minor modes with helm
highlight-inden... 20150307.208 installed Minor modes for highlighting indentation
hippie-expand-s... 20130907.132 installed Hook slime's completion into hippie-expand
imenu-list 20150804.705 installed Show imenu entries in a seperate buffer
key-chord 20150808.1705 installed map pairs of simultaneously pressed keys to commands
latex-extra 20150806.1521 installed Adds several useful functionalities to LaTeX-mode.
latex-pretty-sy... 20150409.240 installed Display many latex symbols as their unicode counterparts
latex-preview-pane 20150519.1244 installed Makes LaTeX editing less painful by providing a updatable preview pane
let-alist 1.0.4 installed Easily let-bind values of an assoc-list by their names
log4e 20150105.505 installed provide logging framework for elisp
logito 20120225.1255 installed logging library for Emacs
magit 20150807.401 installed A Git porcelain inside Emacs
magit-gh-pulls 20150723.1144 installed GitHub pull requests extension for Magit
magit-popup 20150730.1344 installed Define prefix-infix-suffix command combos
makey 20131231.630 installed interactive commandline mode
markdown-mode 20150727.855 installed Emacs Major mode for Markdown-formatted text files
markdown-toc 20150715.914 installed A simple TOC generator for markdown file
monokai-theme 20150521.2257 installed A fruity color theme for Emacs.
org-ac 20140302.413 installed Some auto-complete sources for org-mode
org-autolist 20150118.1837 installed Improved list management in org-mode
pcache 20150125.1653 installed persistent caching for Emacs
php-auto-yasnip... 20141128.1411 installed Creates snippets for PHP functions
php-mode 20150729.213 installed Major mode for editing PHP code
pkg-info 20150517.443 installed Information about packages
polymode 20150729.734 installed Versatile multiple modes with extensive literate programming support
popup 20150626.711 installed Visual Popup User Interface
popup-complete 20141108.1908 installed completion with popup
popwin 20150315.600 installed Popup Window Manager.
powerline 20150628.1957 installed Rewrite of Powerline
powerline-evil 20140517.1 installed Utilities for better Evil support for Powerline
projectile 20150807.620 installed Manage and navigate projects in Emacs easily
pyvenv 20150503.941 installed Python virtual environment interface
r-autoyas 20140101.710 installed Provides automatically created yasnippets for R function argument lists.
real-auto-save 20150701.815 installed Automatically save your all your buffers/files at regular intervals.
rtags 20150804.2337 installed No description available.
s 20140910.334 installed The long lost Emacs string manipulation library.
scala-mode2 20150617.2350 installed Major mode for editing Scala >= 2.9
scala-outline-p... 20150702.937 installed scala file summary popup
seq 20150709.1040 installed Sequence manipulation functions
session 20120510.1700 installed use variables, registers and buffer places across sessions
skeletor 20150228.1557 installed Provides project skeletons for Emacs
sx 20150718.625 installed StackExchange client. Ask and answer questions on Stack Overflow, Super User, and the likes
twilight-anti-b... 20140810.34 installed A soothing Emacs 24 light-on-dark theme
undo-tree 20140509.522 installed Treat undo history as a tree
use-package 20150731.2330 installed A use-package declaration for simplifying your .emacs
which-key 20150803.1211 installed Display available keybindings in popup
window-purpose 20150715.439 installed Purpose-based window management for Emacs
with-editor 20150710.252 installed Use the Emacsclient as $EDITOR
yaml-mode 20141125.37 installed Major mode for editing YAML files
yasnippet 20150804.1120 installed Yet another snippet extension for Emacs.
yatemplate 20150305.1526 installed File templates with yasnippet
yaxception 20150105.652 installed Provide framework about exception like Java for Elisp
zygospore 20140703.152 installed reversible C-x 1 (delete-other-windows)