User:Timothee Flutre/Notebook/Postdoc/2012/07/25: Difference between revisions
From OpenWetWare
(→About Emacs: add emacs -nw) |
(→About Emacs: add official tutorial) |
||
(21 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
|- | |- | ||
|style="background-color: #EEE"|[[Image:owwnotebook_icon.png|128px]]<span style="font-size:22px;"> Project name</span> | |style="background-color: #EEE"|[[Image:owwnotebook_icon.png|128px]]<span style="font-size:22px;"> Project name</span> | ||
|style="background-color: #F2F2F2" align="center"| | |style="background-color: #F2F2F2" align="center"|[[File:Report.png|frameless|link={{#sub:{{FULLPAGENAME}}|0|-11}}]][[{{#sub:{{FULLPAGENAME}}|0|-11}}|Main project page]]<br />{{#if:{{#lnpreventry:{{FULLPAGENAME}}}}|[[File:Resultset_previous.png|frameless|link={{#lnpreventry:{{FULLPAGENAME}}}}]][[{{#lnpreventry:{{FULLPAGENAME}}}}{{!}}Previous entry]] }}{{#if:{{#lnnextentry:{{FULLPAGENAME}}}}|[[{{#lnnextentry:{{FULLPAGENAME}}}}{{!}}Next entry]][[File:Resultset_next.png|frameless|link={{#lnnextentry:{{FULLPAGENAME}}}}]]}} | ||
|- | |- | ||
| colspan="2"| | | colspan="2"| | ||
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] | |||
** official tutorial: <code>C-h t</code> | |||
** [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] | |||
** [https://ebooks-it.org/1565922611-ebook.htm guide] on how to write GNU Emacs extensions | |||
( | |||
* '''Important packages''': | * '''Important packages''': | ||
** [http://orgmode.org/) org-mode] | |||
** [http://cx4a.org/software/auto-complete/ Auto-Complete] | |||
** [http://ess.r-project.org/ ESS] | ** [http://ess.r-project.org/ ESS] | ||
** [http://www.gnu.org/software/auctex/ AUCTeX] | ** [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''': | * '''Tips''': | ||
** from the office computer, 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> | ** 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> | ** 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] | |||
** see the content of a variable, <code>C-h v</code>, the enter the name of the variable, say <code>load-path</code> | |||
** 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. ##### --> |
Latest revision as of 15:16, 4 November 2017
Project name | Main project page Previous entry Next entry |
About Emacs
(defun f (x y) "add" (interactive "nx=\nny=") (message "%i" (+ x y)) ) |