Difference between revisions of "Emacs notes"

From DiLab
Jump to: navigation, search
('''How to open new files in already open Emacs window''' (using gnuserv))
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:

== Some emacs lisp examples ==
Here: http://xahlee.org/emacs/elisp_examples.html
== Run lisp in emacs ==
== Run lisp in emacs ==


Line 4: Line 7:
M-x speedbar
M-x speedbar


You can also try things out in *scratch* buffer. For example:
You can also try things out in the *scratch* buffer. For example:
* Bring to front the *scratch* buffer
* Bring to front the *scratch* buffer
* Type your lisp. e.g. (+ 2 3)
* Type your lisp. e.g. (+ 2 3)
Line 15: Line 18:
Shortcut:
Shortcut:


apt-get install gnuserv
sudo apt-get install gnuserv emacs-snapshot


Add to your .emacs configuration file the following:
Add to your .emacs configuration file the following:
Line 46: Line 49:
fi
fi


== '''Pretty fonts for Emacs editor''' ==
== Pretty fonts for Emacs editor ==
How to replace built-in emacs fonts.
How to replace built-in emacs fonts.
http://peadrop.com/blog/2007/01/06/pretty-emacs/
http://peadrop.com/blog/2007/01/06/pretty-emacs/
Line 58: Line 61:


Note, if you get the ''"No fonts match `Monospace-10'"'' message, make sure you are running the ''emacs-snapshot'' and not your previous emacs version.
Note, if you get the ''"No fonts match `Monospace-10'"'' message, make sure you are running the ''emacs-snapshot'' and not your previous emacs version.


== Emacs and UTF-8 ==

Setting up Emacs to prefer UTF-8 encoding for files: add to .emacs file:

(setq locale-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-selection-coding-system 'utf-8)
(prefer-coding-system 'utf-8)

The command to tell emacs that the file in the buffer is utf-8 instead of latin-1

M-x set-buffer-file-coding-system
(Usually bound to C-x RET f)


How to insert some text in the file (in comments) to tell emacs which encoding to use.
Insert the coding File Variable:

Put the following on one of the first two lines:
-*- coding:utf-8; -*-

or put:
Local Variables:
coding: utf-8
End:
in the last 512 bytes of the file.

Useful links:
* http://linux.seindal.dk/2004/08/07/gnu-emacs-and-utf-8-locale/
* http://osdir.com/ml/help-gnu-emacs-gnu/2009-07/msg00527.html

Latest revision as of 13:48, 10 November 2010

Some emacs lisp examples

Here: http://xahlee.org/emacs/elisp_examples.html

Run lisp in emacs

You can run a builtin or loaded lisp module command in Emacs like this (example - starting the speedbar):

M-x speedbar

You can also try things out in the *scratch* buffer. For example:

  • Bring to front the *scratch* buffer
  • Type your lisp. e.g. (+ 2 3)
  • Press Ctrl+X Crtl+E
  • Watch the result in the bottom (echo) part of the Emacs window/screen

How to open new files in already open Emacs window (using gnuserv)

http://www.debian-administration.org/articles/257

Shortcut:

sudo apt-get install gnuserv emacs-snapshot

Add to your .emacs configuration file the following:

;;
;;  Start GNUServe process when starting up.  This lets us send new files
;; to previously spawned emacs process.
;;
(load "gnuserv-compat")
(load-library "gnuserv")
(gnuserv-start)

;; When loading files reuse existing frames.
(setq gnuserv-frame (car (frame-list)))

;; Stop annoying prompt on kill buffer but member of gnuserv
(setq kill-buffer-query-functions nil)

Create a shortcut script to call emacs and alias emacs command with this:

#!/bin/sh
# ~/bin/emacs

# "apt-get install lsof" - if you're missing "lsof".
lsof /usr/bin/emacs-snapshot | grep $USER >/dev/null 2>&1

if [ "$?" -eq "1" ]; then
    /usr/bin/emacs-snapshot $* &
else
    /usr/bin/gnuclient $* &
fi

Pretty fonts for Emacs editor

How to replace built-in emacs fonts. http://peadrop.com/blog/2007/01/06/pretty-emacs/

Shorcut:

sudo aptitude update
sudo aptitude install emacs-snapshot emacs-snapshot-el

echo "Emacs.font: Monospace-10" >> ~/.Xresources
xrdb -merge ~/.Xresources

Note, if you get the "No fonts match `Monospace-10'" message, make sure you are running the emacs-snapshot and not your previous emacs version.


Emacs and UTF-8

Setting up Emacs to prefer UTF-8 encoding for files: add to .emacs file:

(setq locale-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-selection-coding-system 'utf-8)
(prefer-coding-system 'utf-8)

The command to tell emacs that the file in the buffer is utf-8 instead of latin-1

M-x set-buffer-file-coding-system
(Usually bound to C-x RET f)


How to insert some text in the file (in comments) to tell emacs which encoding to use. Insert the coding File Variable:

Put the following on one of the first two lines:

-*- coding:utf-8; -*-

or put:

Local Variables:
coding: utf-8
End:

in the last 512 bytes of the file.

Useful links: