User:Timothee Flutre/Notebook/Postdoc/2012/07/25: Difference between revisions
From OpenWetWare
(→About Emacs: improve loading ess) |
(→About Emacs: add tuto ENS) |
||
(21 intermediate revisions by the same user not shown) | |||
Line 8: | Line 8: | ||
==About Emacs== | ==About Emacs== | ||
* '''Motivation''': when analyzing data for any research project, it's essential to know well a good text editor. Indeed, it's very efficient to be able to program in several languages (eg. Python, C/C++, R), interact with the shell like in a terminal, manipulate data and plot exploratory analyzes in R, ''all this within the same editor''! One such editor is [http://en.wikipedia.org/wiki/Emacs Emacs], and is available on Linux, Mac OS and Windows. | * '''Motivation''': when analyzing data for any research project, it's essential to know well a good text editor. Indeed, it's very efficient to be able to program in several languages (eg. Python, C/C++, R), interact with the shell like in a terminal, manipulate data and plot exploratory analyzes in R, ''all this within the same editor''! One such editor is [http://en.wikipedia.org/wiki/Emacs Emacs], and is available on Linux, Mac OS and Windows. For Mac OS X users, I recommend [http://vgoulet.act.ulaval.ca/en/emacs/mac/ this distribution]. | ||
* ''' | * '''Documentation''': | ||
** official [https://www.gnu.org/software/emacs/manual/html_node/emacs/index.html manual] ([https://www.gnu.org/software/emacs/manual/html_node/eintr/index.html intro] to Emacs Lisp) | |||
** official [https://www.gnu.org/software/emacs/tour/ tour], [http://www.tuteurs.ens.fr/unix/editeurs/emacs.html tutorial] (in French) | |||
** [http://www.emacswiki.org/ wiki] (with many tips) | |||
** [https://github.com/vikasrawal/orgpaper/blob/master/orgpapers.org org tutorial] | |||
** [https://github.com/emacsmirror/p code] (mirrors packages) | |||
** [http://xkcd.com/378/ cartoon] | |||
* '''Important packages''': | |||
** [http://orgmode.org/) org-mode] | |||
** [http://cx4a.org/software/auto-complete/ Auto-Complete] | |||
** [http://ess.r-project.org/ ESS] | |||
** [http://www.gnu.org/software/auctex/ AUCTeX] | |||
* '''Configuration''': my own file <nowiki>~/.emacs</nowiki> (versioned [https://github.com/timflutre/perso/blob/master/emacs here]): | |||
* '''Tips''': | |||
( | ** from the office computer (desktop), log interactively to a cluster node, launch <code>emacs --daemon</code> and keep the terminal open indefinitely; then access this session from any computer, e.g. a laptop, with <code>emacsclient -t</code>; and close it when needed via <code>emacsclient -e "(kill-emacs)"</code> | ||
** especially useful with [http://en.wikipedia.org/wiki/PuTTY PuTTY] on Windows, launch emacs so that its window is the terminal itself, via <code>emacs -nw</code> | |||
** when updating org-mode, one may have to first comment all org-related lines in ~/.emacs, remove the dir ~/.emacs.d/elpa/org-*, re-open Emacs with option -Q, install the latest version of org-mode, close Emacs and re-open it without -Q, uncomment all org-related lines in ~/.emacs | |||
* '''Emacs Lisp''': [http://www.gnu.org/software/emacs/manual/html_node/eintr/ intro] | |||
** go to the *scratch* buffer | |||
** write <code>(+ 2 2)</code> | |||
** put the cursor after the last parenthesis, and enter <code>C-x C-e</code> | |||
** one should see <code>4</code> in the mini-buffer | |||
** do the same with <code>(concat "abc" "def")</code> | |||
** here is an example of a [https://www.gnu.org/software/emacs/manual/html_node/eintr/Writing-Defuns.html#Writing-Defuns function] (interactive in this case) | |||
(defun f (x y) | |||
( | "add" | ||
(interactive "nx=\nny=") | |||
(message "%i" (+ x y)) | |||
) | |||
( | |||
( | |||
) | |||
<!-- ##### DO NOT edit below this line unless you know what you are doing. ##### --> | <!-- ##### DO NOT edit below this line unless you know what you are doing. ##### --> |
Revision as of 07:33, 24 October 2015
Project name | <html><img src="/images/9/94/Report.png" border="0" /></html> Main project page <html><img src="/images/c/c3/Resultset_previous.png" border="0" /></html>Previous entry<html> </html>Next entry<html><img src="/images/5/5c/Resultset_next.png" border="0" /></html> |
About Emacs
(defun f (x y) "add" (interactive "nx=\nny=") (message "%i" (+ x y)) )
|