emacs: New keybindings for windmove.
[profile] / emacs
diff --git a/emacs b/emacs
index 9ae013a..bae4138 100644 (file)
--- a/emacs
+++ b/emacs
      (not (memq 'GIT vc-handled-backends))
      (setq vc-handled-backends (cons 'GIT vc-handled-backends)))
 (and (library-exists-p "quilt")
+     (not mdw-fast-startup)
      (load "quilt"))
 
-(trap
-  (or (fboundp 'make-regexp)
-      (load "make-regexp")))
-
-(trap (require 'tex-site))
+(trap (or mdw-fast-startup (require 'tex-site)))
 
 ;; --- Skeleton stuff ---
 
-(trap (require 'skel-init))
+(trap (or mdw-fast-startup (require 'skel-init)))
 
 ;; --- Window system-dependent things ---
 
 (setq rmail-display-summary t)
 (setq rmail-file-name "~/Mail/rmail")
 
-;; --- GNUS configuration ---
-
-(setq gnus-select-method '(nntp "tux.nsict.org"))
-(setq gnus-read-active-file 'some)
-(setq gnus-inhibit-startup-message t)
-(setq gnus-large-newsgroup 500)
-
 ;; --- Internationalization twiddling ---
 
 (trap
 (setq dired-deletion-confirmer         ;Make deletion easier in dired
       (symbol-function 'y-or-n-p))
 (setq dired-listing-switches "-alF")   ;Do `ls -F' things in dired windows
+(setq wdired-allow-to-change-permissions t)
 (setq case-fold-file-names nil)                ;Don't translate file names (grr...)
 (setq scroll-step 5)                   ;Don't scroll too much at a time
 (setq-default fill-column 77)          ;I use rather narrow windows
 (setq-default comment-column 40)       ;Set a standard comment column
 (setq-default truncate-partial-width-windows nil)
+(setq woman-use-own-frame nil)         ;Keep man pages somewhere sensible
 (setq diff-switches "-u"               ;I like reading unified diffs
       cvs-diff-flags (list diff-switches))
 (setq echo-keystrokes 10)              ;Long delay before keystrokes echo
 (setq ange-ftp-ftp-program-name "pftp")        ;Use passive FTP
 (setq find-ls-option                   ;Build file lists efficiently
       '("-print0 | xargs -0r ls -ld" . "ld"))
+(setq bookmark-save-flag 0)            ;Save bookmarks automatically
 (setq Info-fontify-maximum-menu-size 60000)
 (setq ispell-program-name "aspell"
       ispell-local-dictionary "en_GB-ize-w_accents"
 (trap
   (tooltip-mode 0)
   (tool-bar-mode 0))
-;;(trap (global-auto-revert-mode t))
+(trap (or mdw-fast-startup (global-auto-revert-mode t)))
 (setq psgml-html-build-new-buffer nil)
 
 (setq cltl2-root-url (mdw-config 'cltl-url))
 
 (trap
   (and (string-match "linux" (symbol-name system-type))
+       (not mdw-fast-startup)
        (progn (require 'mailcrypt-init)
              (require 'mailcrypt)
              (setq mc-default-scheme 'mc-scheme-gpg)
 
 (trap
   (windmove-default-keybindings)
+  (global-set-key [?\C-x ?w left] 'windmove-left)
+  (global-set-key [?\C-x ?w ?h] 'windmove-left)
+  (global-set-key [?\C-x ?w up] 'windmove-up)
+  (global-set-key [?\C-x ?w ?k] 'windmove-up)
+  (global-set-key [?\C-x ?w down] 'windmove-down)
+  (global-set-key [?\C-x ?w ?j] 'windmove-down)
+  (global-set-key [?\C-x ?w right] 'windmove-right)
+  (global-set-key [?\C-x ?w ?l] 'windmove-right)
   (setq windmove-wrap-around t))
 (trap (iswitchb-mode))
-(global-set-key "\M-#" 'calc-dispatch)
+(global-set-key [?\M-#] 'calc-dispatch)
 (global-set-key [f4] 'query-replace-regexp)
 (global-set-key [f5] 'goto-line)
 (global-set-key [f6] 'auto-fill-mode)
 (global-set-key [f8] 'undo)
 (global-set-key [f9] 'mdw-divvy-window)
 (global-set-key [insertchar] 'overwrite-mode)
-(global-set-key "\C-xm" 'vm-mail)
-(global-set-key "\C-x\C-n" 'skel-create-file)
-(global-set-key "\C-x4n" 'skel-create-file-other-window)
-(global-set-key "\C-x5n" 'skel-create-file-other-frame)
+(global-set-key [?\C-x ?m] 'vm-mail)
+(global-set-key [?\C-x ?\C-n] 'skel-create-file)
+(global-set-key [?\C-x ?4 ?n] 'skel-create-file-other-window)
+(global-set-key [?\C-x ?5 ?n] 'skel-create-file-other-frame)
 (global-set-key [delete] 'delete-char)
-(global-set-key "\C-[\C-m" 'call-last-kbd-macro)
-(global-set-key "\M-q" 'mdw-fill-paragraph)
-(global-set-key "\C-h\C-m" 'manual-entry)
+(global-set-key [?\C-[ ?\C-m] 'call-last-kbd-macro)
+(global-set-key [?\M-q] 'mdw-fill-paragraph)
+(global-set-key [?\C-h ?\C-m] 'manual-entry)
 (global-set-key [mode-line C-mouse-1] 'mouse-tear-off-window)
 (global-set-key [vertical-scroll-bar C-down-mouse-1]
                'mouse-drag-vertical-line)
 (add-hook 'slime-repl-mode-hook 'mdw-fontify-lispy t)
 (add-hook 'lisp-mode-hook 'mdw-common-lisp-indent t)
 (trap
 (require 'slime-autoloads)
-  (slime-setup '(slime-autodoc)))
-;;(trap (require 'xscheme))
-;;(setq-default xscheme-process-command-line "scheme -large -emacs")
(if (not mdw-fast-startup)
+     (progn
+       (require 'slime-autoloads)
+       (slime-setup '(slime-autodoc)))))
 (add-hook 'inferior-lisp-mode-hook
          #'(lambda ()
              (local-set-key "\C-m" 'comint-send-and-indent)) t)
        ("^pdf$" "." "evince %o")
        ("^html?$" "." "netscape %o")))
 
+;;;----- SLIME setup --------------------------------------------------------
+
+(let ((stuff '((cmucl ("cmucl"))
+              (sbcl ("sbcl") :coding-system utf-8-unix)
+              (clisp ("clisp") :coding-system utf-8-unix))))
+  (or (boundp 'slime-lisp-implementations)
+      (setq slime-lisp-implementations nil))
+  (while stuff
+    (let* ((head (car stuff))
+          (found (assq (car head) slime-lisp-implementations)))
+      (setq stuff (cdr stuff))
+      (if found
+         (rplacd found (cdr head))
+       (setq slime-lisp-implementations
+             (cons head slime-lisp-implementations))))))
+(setq slime-default-lisp 'sbcl)
+
 ;;;----- Shell mode ---------------------------------------------------------
 
 ;; --- Make the shell mode aware of my prompt ---