2015-05-30 22 views
6

Ich folge dem inspirierenden Beispiel here zum Setup Vim für R Entwicklung. Ein Unterschied ist, dass ich Vim und R auf einem Remote-Server über ssh Sitzung ausführen. Und diese ssh startet byobu, die tmux automatisch gestartet hat, wenn ich mich anmelde. Was ich will, ist ein Vim-R-Dev Befehl/alias zu machen, so dass: Nach der Anmeldung mit dem ssh und tmux bereits läuft, ich Vim-R-Dev geben kann, ein Fenster zu öffnen, mit Scheiben in dem beigefügten Bild wie folgt aussehen:Integrieren Sie Vim-R-Plugin mit Remote-ssh-byobu Sitzung?

Abbildung des Sendens von R-Code aus mehreren vim-Ansichtsfenstern (in der Mitte) an eine R-Sitzung (oben rechts). Die vim-Sitzung kann auf einem lokalen -Computer ausgeführt werden, während die R-Sitzung auf demselben oder einem Remote-System ausgeführt werden kann. Der Snapshot zeigt auch das Omni-Vervollständigungsprogramm des vim-r-Plugins (violettes Feld), das Anzeigen eines R-Funktionshilfedokuments in einem separaten tmux-Fensterbereich(unten rechts) und des NERDTree-Dateibrowsers (links).

Vim-R, tmux

Antwort

1

Nach einer Weile mit Vim und R Fummelei, habe ich beschlossen, diesen Ansatz zu beenden. Mein Gefühl war, dass die Kombination nicht reif genug für die Produktion ist. Also habe ich versucht EMACS + ESS zu finden und zu finden. Ja, Emacs ist der Rivale zu Vim als Programmierer/Geek-Editor. Und es scheint, ich bin ein Verräter von Vim zu Emacs springen, wenn die beiden im Krieg sind :-) Es muss nicht so sein.

Zuerst habe ich Emacs und Ess Plugin/Paket installiert und versucht, die Grundlagen zu lernen. Ich war sehr glücklich darüber, dass ESS viel reifer ist als vimR. Und die Art, wie Emacs mit Paketen und Konfiguration arbeitet, macht mich viel glücklicher als wenn ich Vim benutzt habe. Dies liegt zum Teil daran, dass ich einen grundlegenden Hintergrund habe und bereit war, mit ELISP, der LISP-Programmiersprachenvariante, die für Emacs gemacht wird, umzugehen. Ein Ratschlag für jemanden hat jedoch Vim-Fähigkeiten: Sie sollten besser Evil Paket von Anfang an installieren, so dass Sie die Möglichkeit der schnellen Bearbeitung in Vim aber die ganze Packung anderer wunderbarer Dinge, dh Robustheit, Feinanpassung, In-Place-Dokumentation . Ich habe viele Dinge über Emacs und ESS hier auf stackoverflow.com und auf emacs.stackexchange.com diskutiert. Das für R-Programmierer erforderliche Setup lautet:

Emacs, ESS, Evil, Helm*, auto-complete, auctex, polymode, r-autoyas. Im Folgenden finden Sie eine vollständige Liste der zusätzlichen Pakete, die ich installiert habe. Der Code, der es mir ermöglicht, Code auf dem Remote-Server zu bearbeiten und auszuführen, heißtamit X-Weiterleitung. Ich werde mehr darüber schreiben, wenn es Anfragen gibt.

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)