Emacs


 * Customizable text editor
 * how to auto-complete case sensitively
 * tips for grep
 * redirected text can be used as grep buffer by enabling grep-mode
 * PuTTY FAQ

tramp-mode

 * mode that can edit sudo files
 * meant to edit remote files
 * tramp usage

gud

 * source
 * Grand Unified Debugger mode
 * supports lldb and gdb
 * module to support cdb

electric-mode

 * minor mode to auto complete braces
 * how to use electrice-mode with ruby-electric

ansi-color

 * compile log coloring
 * http://www.moreslowly.jp/mw/index.php/Emacs_%E3%81%AE_compilation-mode_%E3%81%A7_ansi_color_%E3%81%8C%E5%8C%96%E3%81%91%E3%81%A6%E3%81%97%E3%81%BE%E3%81%86%E3%81%93%E3%81%A8%E3%81%B8%E3%81%AE%E5%AF%BE%E5%87%A6
 * http://gittup.org/tup/tips_and_tricks.html

regexp

 * EmacsWiki reference

emacs-clang-complete-async

 * repository
 * Better clang complete mode
 * Faster then auto-complete-clang.(No freeze?)

el-get

 * Repository
 * Emacs package manager.
 * type
 * http:
 * use :localname to set download filename

Session saving

 * (run-at-time t 1800 'session-save-session)
 * (run-at-time t 1800 'save-current-configuration)
 * will save the buffer state and window state

Using mouse

 * (mouse-wheel-mode t)
 * (xterm-mouse-mode t)
 * Will enable mouse selecting and mouse wheel scrolling.

Google C/C++ style

 * source
 * C++ guide
 * Boost.ptr_container is allowed.
 * No C++11

Emacs Client

 * (server-start)
 * Will start the emacs server
 * To use emacs server open file with "emacsclient" and will open the file in emacs you are opening
 * by setting "emacsclient" to $EDITOR you can write long commit message in git or other tool

Emacs Lisp

 * about void
 * if shell-command-to-string fails it return void
 * if prefix ' it is symbol, otherwise value reference
 * Comparison
 * equal: deep comparison
 * eq: reference comparison
 * for char type use prefix '?'
 * Major mode
 * major-mode: major mode name
 * mode-name: name to printed in mode line
 * use-local-map: use value generated by (make-sparse-keymap)
 * Loop basic
 * (let ((list (return-list)) element)
 * (while list
 * (setq element (car list))
 * ;; process element
 * (setq list (cdr list))))
 * Process
 * start-process:
 * process-send-string: Send data to stdin