This is a list of emacs packages that I have found to be very useful. For each
package a short description, with installation instructions and pointers to
documentation is given. They have been tested with
Documentation on getting started with emacs.
The information below is out-of-date. The links to web pages might still be useful.
A collection of these useful packages is available in the file
(setq load-path (cons "/net/azdak/dsg/local/share/emacs/site-lisp" load-path)) (load "cool")to your
Contents:
M-x haskell-mode
(only necessary if you don't have the installation code installed, or if your file does not have an .emacs
file:
(setq auto-mode-alist (append '(("\\.[he]s$" . haskell-mode) ("\\.l[he]s$" . haskell-mode) ; for literate prgs ("\\.hi$" . haskell-mode)) ; for interface files auto-mode-alist)) (autoload 'haskell-mode "haskell-mode" "Major mode for editing Haskell scripts." t) (autoload 'literate-haskell-mode "haskell-mode" "Major mode for editing literate Haskell scripts." t) (setq haskell-use-font-lock t) ; enable font-lock highlighting (setq haskell-use-decl-scan t) ; enable imenu ; use haskell-doc mode for pop-up type info on fcts etc (autoload 'turn-on-haskell-doc-mode "haskell-doc" nil t) (add-hook 'haskell-mode-hook 'turn-on-haskell-doc-mode)
M-x preview-document
(or in the Command
pull-down menu pick the Generate Preview
option). This will run LateX in the background and then inline math-mode formulae and .ps files into the emacs buffer.
.emacs
file:
(autoload 'LaTeX-preview-setup "preview") (add-hook 'LaTeX-mode-hook #'LaTeX-preview-setup)
/net/azdak/dsg/local/i386-unknown-linux/bin
), a working LaTeX installation, the auc-tex
package for emacs (see below). Be sure that you have the DSG group's LaTeX dir in your LaTeX path by e.g. adding to your .bashrc
file
TEXINPUTS=${TEXINPUTS}:/net/azdak/dsg/local/teTeX/share//
/net/azdak/dsg/local/share/emacs/site-lisp/preview/preview.el
iswitchb-buffer
.emacs
file:
(require 'iswitchb) (iswitchb-default-keybindings)
/usr/local/contrib/share/emacs/site-lisp/iswitchb.el
M-x ftp-quik-mode
.
(setq load-path (append load-path '("/usr/local/contrib/share/emacs/site-lisp"))) (autoload 'ftp-quik-mode "ftp-quik" nil t) (setq auto-mode-alist (append '(("\\.ftp-quik$" . ftp-quik-mode) ("\\.ftq$" . ftp-quik-mode)) auto-mode-alist))
To load your favourite ftp-quik file with two keystrokes add:
(global-set-key "\C-c\C-q" 'find-daily) (defun find-daily () (interactive) (find-file "~/emacs/daily.ftp-quik")) ; your favourite `ftp-quik' list
To pick a shell other than /bin/sh add:
(eval-after-load 'ftp-quik (setq ftp-quik-shell "/usr/local/gnu/bin/bash"))
ange-ftp
, term
, font-lock
, w3
(all are already installed by default).
/usr/local/contrib/share/emacs/site-lisp/ftp-quik.el
To try ftp-quik
install it and load the sample file into an emacs buffer by typing: C-x C-f ~hwloidl/ftp-quik.ftq.
(autoload 'reftex-mode "reftex" "RefTeX Minor Mode" t) (autoload 'turn-on-reftex "reftex" "RefTeX Minor Mode" t) (add-hook 'LaTeX-mode-hook 'turn-on-reftex) ; with AUCTeX LaTeX mode ; (add-hook 'latex-mode-hook 'turn-on-reftex)) ; with Emacs latex mode
/usr/local/contrib/share/emacs/site-lisp
/usr/local/contrib/share/emacs/site-lisp/reftex.el
;; %%% Local Variables: ;; %%% TeX-master: my_master.tex ;; %%% End:at the end of every tex-file. RefTex will look up the master file to find the name of the bibtex files it needs for citations, and of all other tex files it needs to find all labels defined in that document. Especially useful when you work for example on a thesis ;-)
;;; Emacs/W3 Configuration (setq load-path (cons "/usr/local/contrib/share/emacs/site-lisp/w3" load-path)) (require 'w3-auto "w3-auto")
ange-ftp, widget, timezone
and a few others (all are installed by default already)
/usr/local/contrib/share/emacs/site-lisp/w3
w3
(via C-h i), the HTML docu, or
use the help button after having started w3
.
w3
for quick
look-up of information
when I already know the page. The main advantage is that you don't
get the gratuitous graphics and you can easily edit the text that
pops-up. If you use emacs based mail and/or news readers you also get a
powerful integration of all utilities into one customisable
package. Personally, I maintain a hot-list of these pages via
ftp-quik
and kick off w3
via a mouse click.
If you cannot do without the graphics I recommend using it with xemacs
. In that setup you have in-line images and most of the other noisy stuff on the web.
(load "escreen") (escreen-install)
The prefix key for all commands is C-\. If you want to change this do something like:
(setq escreen-prefix-char "\C-o") (global-set-key escreen-prefix-char 'escreen-prefix)
I find it particularly useful to bind my keypad number keys to the escreen-goto-screen function for a quick jump to my screens:
(global-set-key [kp-1] 'escreen-goto-screen-1) (global-set-key [kp-2] 'escreen-goto-screen-2) (global-set-key [kp-3] 'escreen-goto-screen-3)
/usr/local/contrib/share/emacs/site-lisp/escreen.el
escreen-install
.
mh-e
and gnus
) it is very handy to have separate screens for them to maintain their window configuration. Switching to your mailer is then even faster than in an X-environment.
One shortcoming of this package is the buffer-list which is the same for all screens. I.e. if you create a buffer in screen 1 you have it at the front of your buffer list in the other screens, too. Fixing that is on the to-do list.
This is one of Noah Friedman's Emacs Packages (tm). If you see another one: grab it!
(autoload 'fff-find-emacs-lisp-library "fff" nil t) (autoload 'fff-insert-emacs-lisp-library "fff" nil t) (autoload 'fff-locate-emacs-lisp-library "fff" nil t) (autoload 'fff-find-loaded-emacs-lisp-function "fff" nil t) (autoload 'fff-find-file-in-envvar-path "fff" nil t) (autoload 'fff-insert-file-in-envvar-path "fff" nil t) (autoload 'fff-find-file-in-exec-path "fff" nil t) (autoload 'fff-insert-file-in-exec-path "fff" nil t) (autoload 'fff-find-file-in-path "fff" nil t) (autoload 'fff-insert-file-in-path "fff" nil t) (autoload 'fff-find-file-in-locate-db "fff" nil t) (autoload 'fff-insert-file-in-locate-db "fff" nil t) (autoload 'fff-install-map "fff" nil t) (fff-install-map)
If you want another prefix for this keymap put something like
(setq fff-map-prefix "\C-x\C-l")into your .emacs file (before calling fff-install-map).
/usr/local/contrib/share/emacs/site-lisp/fff.el
fff-install-map
.
auto-mode-alist
variable must be right; if it's not, set it with:
(setq auto-mode-alist (append '(("\\.tex$" . latex-mode)) auto-mode-alist))
(load-library "tex-site")
/net/azdak/dsg/local/share/emacs/site-lisp/tex-site.el
(components in subdir auctex
).
.emacs
file:
(load-library "whine") (whinify)
/net/azdak/dsg/local/share/emacs/site-lisp/whine.el
/net/azdak/dsg/local/share/emacs/21.1/lisp/play/yow.el
(yow t)
from a hook in your email package (e.g. from
mh-letter-mode-hook
). If you want to use your own
collection of quotes (in the format used by fortune(6)) just have the
variable yow-file
point to it. But the coolest thing is
to combine it with the doctor program: type
psychoanalyze-pinhead
and watch how emacs does
psychotherapy --- with itself.
(autoload 'calc-dispatch "calc" "Calculator Options" t) (autoload 'full-calc "calc" "Full-screen Calculator" t) (autoload 'full-calc-keypad "calc" "Full-screen X Calculator" t) (autoload 'calc-eval "calc" "Use Calculator from Lisp") (autoload 'defmath "calc" nil t t) (autoload 'calc "calc" "Calculator Mode" t) (autoload 'quick-calc "calc" "Quick Calculator" t) (autoload 'calc-keypad "calc" "X windows Calculator" t) (autoload 'calc-embedded "calc" "Use Calc inside any buffer" t) (autoload 'calc-embedded-activate "calc" "Activate =>'s in buffer" t) (autoload 'calc-grab-region "calc" "Grab region of Calc data" t) (autoload 'calc-grab-rectangle "calc" "Grab rectangle of data" t) (global-set-key "\e#" 'calc-dispatch)
/usr/local/contrib/share/emacs/site-lisp/calc
If you don't want all of the features in
(setq hwl-enable-list '(preview-latex reftex tex-site)) (setq load-path (cons "/net/azdak/dsg/local/share/emacs/site-lisp" load-path)) (load "cool")
You can find the names of all packages to be used in this list under the Key field of the descriptions above.
The module has been tested with
emacs -nw -q --eval "(progn (setq load-path (cons \"/net/azdak/dsg/local/share/emacs/site-lisp\" load-path))(load \"cool\"))"
If this gives you error messages, send me a bug report.
If you have problems using this module it is most likely a conflict
with some other package you have loaded. To locate the problem have a look
into the buffer
Another useful thing to do is to enable elisp debugging in your
(setq debug-on-error t)