2015-05-30 35 views
6

Podążam za inspirującym przykładem here, aby skonfigurować Vim dla rozwoju R. Jedną z różnic jest to, że uruchamiam Vima i R na zdalnym serwerze przez sesję ssh. I to ssh rozpoczyna byobu, które ma tmux uruchomione automatycznie po zalogowaniu. Co ja chcę to zrobić polecenia Vim-R-Dev/alias, tak aby: Po zalogowaniu się z ssh i tmux jest już uruchomiony, mogę wpisać Vim-R-Dev aby otworzyć okno z szyby wyglądać w załączonym obrazu:Zintegruj wtyczkę Vim-R ze zdalną sesją ssh-byobu?

Ilustracja wysyłania kodu R z kilku rzutni vim (w środku) do sesji R (w prawym górnym rogu). Sesja vim może działać na lokalnym komputerze, podczas gdy sesja R może działać na tym samym lub zdalnym systemie. Ta migawka ilustruje także narzędzie do uzupełniania przez wtyczkę vim-r (purpurowe pole), przeglądanie dokumentu pomocy funkcji R w oddzielnym panelu tmux (prawy dolny róg) i przeglądarce plików NERDTree (po lewej).

Vim-R, tmux

Odpowiedz

1

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)