Table of Contents

Emacs Stuff

This is my third try to get into emacs. Is difficult with all this keyboard related commands, but if you take it with love it kind of works.

Configuring emacs to get some nice feature for programming with python

sources:
http://venkys-dotplan.blogspot.com/2009/05/complete-newbies-guide-to-emacs-and.html
http://www.enigmacurry.com/2009/01/21/autocompleteel-python-code-completion-in-emacs/

(add-hook 'python-mode-hook '(lambda () (define-key python-mode-map “\C-m” 'newline-and-indent)))

Adding a directory to the emacs load path

Add the following lines to your .emacs file

(setq load-path                                                               
    (append (list nil "~/.emacs.d/emacs")                                   
            load-path))                  

Emacs and python, a better way

The former method is nice but makes the tab key to interfere with the normal operation of the tab key. Using the following method, emacs and python work better together.

http://www.rwdev.eu/articles/emacspyeng

  1. Install Pymacs
  2. Copy files python-mode.el and pycomplete.el on your Emacs load_path (e.g. ~/.emacs.d/emacs).
  3. Copy file pycomplete.py on your PYTHONPATH (e.g. /usr/lib/python2.5/site-packages)
  4. Copy the following settings to your .emacs file
(require 'pycomplete)
(setq auto-mode-alist (cons '("\\.py$" . python-mode) auto-mode-alist))
(autoload 'python-mode "python-mode" "Python editing mode." t)
(autoload 'pymacs-load "pymacs" nil t)
(autoload 'pymacs-eval "pymacs" nil t)
(autoload 'pymacs-apply "pymacs")
(autoload 'pymacs-call "pymacs")
(setq interpreter-mode-alist(cons '("python" . python-mode)
                           interpreter-mode-alist))

Keybindings emacs command list

This list is based on what I feel I need from an editor right now (may-2009), hope it can be useful for someone.

C-x c - Exit
C-x C-s - Save changes
C-g - Quits what you are doing
C-l - Recenters
C-u cmd - Repeats the command u times

Editing

C-k - Delete rest of line
C-e - Move to End of line
C-a - move to Line start
ESC C-\ indent-region
C-o - insert-line
C-d - delete current character
M-x - query-replace

Macro stuff

C-x r space name - Names a position
C-x r j name - Jumps to a named position
C-x ( - Start recording commands (macro)
C-x ) - Stops recording commands (macro)
C-x e - Executes macro (continue pressing e executes the macro again and again)

Buffer and Windows

C-x k - kill-buffer
C-x 0 - Closes the current window
C-x 1 - Closes all the other windows
C-x o - Change window
C-x C-b - list-buffers
C-x ^ - enlarge-window

http://www.emacswiki.org/emacs/WindowResize

Python specific

C-c C-z - Starts python console
C-c C-l - Execute python program
C-c d - Over something, gives you the documentation
C-c C-h - Help for the minor and major mode (yas, rope, python)

Marking

M-x transient-mark-mode
C-M-space - “Marks what you want”
M-h - Marks current paragraph
C-w - Deletes
Esc-w - Copy
C-y - Paste
C-x r s - Saves the marked region to a register
C-g - To deactivate the mark

Spelling

M-x ispell-change-dictionary
M-x ispell

External links with more commands are:
http://www.cs.rutgers.edu/LCSR-Computing/some-docs/emacs-chart.html
http://sip.clarku.edu/tutorials/intro_emacs.html
http://ccrma.stanford.edu/guides/package/emacs/emacs.html
http://www.cs.cmu.edu/cgi-bin/info2www?(emacs)Mark