X-Git-Url: https://git.distorted.org.uk/~mdw/profile/blobdiff_plain/d54399beacf881e56f4a95f3fc9eb62ffa36cbb4..9749c2677b05e3ae21f1f06df2596a7436a468fc:/dot/emacs diff --git a/dot/emacs b/dot/emacs index 167c3b8..da7d116 100644 --- a/dot/emacs +++ b/dot/emacs @@ -106,9 +106,10 @@ (require 'paren) (trap (show-paren-mode t)) (or window-system (mdw-emacs-version-p 22) (menu-bar-mode -1)) -(setq x-select-enable-clipboard nil - x-select-enable-primary t - mouse-drag-copy-region t) +(if (eq window-system 'x) + (setq x-select-enable-clipboard nil + x-select-enable-primary t)) +(setq mouse-drag-copy-region t) ;; Multiple cursors. @@ -138,6 +139,7 @@ (not (and (fboundp 'daemonp) (daemonp))) (progn (setq server-temp-file-regexp (concat "^" tmpdir "\\|/draft$") edit-server-new-frame nil + server-raise-frame nil gnuserv-frame t) (trap (let ((warning-suppress-types (cons '(server) @@ -327,24 +329,25 @@ ;; Postscript printing. -(setq ps-paper-type 'a4 - ps-print-only-one-header t - ps-print-color-p t - ps-landscape-mode t ps-number-of-columns 4 - ps-line-number t ps-line-number-step 5 ps-line-number-start 5 - ps-zebra-stripes nil ps-zebra-stripe-height 5 - ps-spool-duplex t ps-spool-tumble nil ps-spool-config 'setpagedevice - ps-top-margin (* 12 (/ 72 25.4)) - ps-bottom-margin (* 16 (/ 72 25.4)) - ps-header-offset (* 8 (/ 72 25.4)) - ps-left-margin (* 12 (/ 72 25.4)) - ps-right-margin (* 12 (/ 72 25.4)) - ps-inter-column (* 4 (/ 72 25.4)) - ps-font-family 'CourierCondensed ps-font-size '(4.5 . 5.16) - ps-line-number-font 'Palatino ps-line-number-font-size 3 - ps-header-font-family 'Helvetica - ps-header-title-font-size '(8 . 10) - ps-header-font-size '(6 . 8)) +(let ((mm (/ 72 25.4))) + (setq ps-paper-type 'a4 + ps-print-only-one-header t + ps-print-color-p t + ps-landscape-mode t ps-number-of-columns 4 + ps-line-number t ps-line-number-step 5 ps-line-number-start 5 + ps-zebra-stripes nil ps-zebra-stripe-height 5 + ps-spool-duplex t ps-spool-tumble nil ps-spool-config 'setpagedevice + ps-top-margin (* 12 mm) + ps-bottom-margin (* 16 mm) + ps-header-offset (* 8 mm) + ps-left-margin (* 12 mm) + ps-right-margin (* 12 mm) + ps-inter-column (* 4 mm) + ps-font-family 'CourierCondensed ps-font-size '(4.5 . 5.16) + ps-line-number-font 'Palatino ps-line-number-font-size 3 + ps-header-font-family 'Helvetica + ps-header-title-font-size '(8 . 10) + ps-header-font-size '(6 . 8))) ;; Splash screen stuff. @@ -356,16 +359,17 @@ (trap (resize-minibuffer-mode 1)) ;Make minibuffer grow dynamically (auto-compression-mode 1) ;Enable automatic compression +(xterm-mouse-mode 1) (setq enable-local-variables :safe enable-local-eval nil) (setq dabbrev-case-replace nil) ;Retain case when completing (setq linum-format "%7d ") (setq next-line-add-newlines nil) ;Don't add weird newlines (setq split-height-threshold nil) ;Reuse windows where sensible -(setq display-buffer-reuse-frames nil ;Don't confuse me by showing buffers - iswitchb-default-method 'samewindow ;in other random frames - ido-default-file-method 'selected-window - ido-default-buffer-method 'selected-window) +(setq compilation-scroll-output 'first-error) +(setq iswitchb-default-method 'samewindow ;Don't confuse me by showing + ido-default-file-method 'selected-window ;buffers in other random + ido-default-buffer-method 'selected-window) ;frames (setq ido-enable-prefix t ido-enable-flex-matching t ido-everywhere t @@ -382,6 +386,9 @@ (setq read-quoted-char-radix 16) ;C-q HEX-STUFF [RET] (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 custom-unlispify-tag-names nil ;Display variable names properly + custom-unlispify-menu-entries nil + custom-buffer-done-kill t) (setq blink-cursor-blinks 0) ;Keep blinking the cursor (setq-default fill-column mdw-text-width) ;I use rather narrow windows (setq adaptive-fill-mode nil) ;I have my own machinery instead @@ -389,6 +396,8 @@ (setq-default comment-column 40) ;Set a standard comment column (setq-default truncate-partial-width-windows nil truncate-lines t) +(setq line-move-visual t + visual-order-cursor-movement t) (setq default-indicate-empty-lines t) (setq view-read-only t) (setq-default view-exit-action #'kill-buffer) @@ -406,6 +415,7 @@ (setq find-ls-option ;Build file lists efficiently '("-print0 | xargs -0r ls -ld" . "ld")) (setq bookmark-save-flag 0) ;Save bookmarks automatically +(setq ediff-grab-mouse nil) (setq vc-follow-symlinks t vc-git-resolve-conflicts nil) (setq x-gtk-file-dialog-help-text nil) @@ -423,18 +433,20 @@ '(("en_GB-ize-w_accents" "[[:alpha:]]" "[^[:alpha:]]" "'" t ("-d" "en_GB-ize-w_accents") nil utf-8)) ispell-silently-savep t) -(setq viper-case-fold-search t - viper-electric-mode t - viper-ex-style-motion nil - viper-ex-style-editing nil - viper-expert-level 5 - viper-inhibit-startup-message t - viper-no-multiple-ESC nil - viper-re-query-replace t - viper-re-search t - viper-shift-width 2 - viper-vi-style-in-minibuffer nil - viper-want-ctl-h-help t) +(setq-default viper-case-fold-search t + viper-electric-mode t + viper-ex-style-motion nil + viper-ex-style-editing nil + viper-expert-level 5 + viper-inhibit-startup-message t + ;;viper-insert-state-cursor-color "red" + viper-no-multiple-ESC nil + viper-re-query-replace t + viper-re-search t + ;;viper-replace-overlay-cursor-color "red" + viper-shift-width 2 + viper-vi-style-in-minibuffer nil + viper-want-ctl-h-help t) (trap (require 'uniquify) (setq uniquify-buffer-name-style 'post-forward-angle-brackets) @@ -449,7 +461,16 @@ (tool-bar-mode 0)) (trap (or mdw-fast-startup (global-auto-revert-mode t))) -(defvar mdw-black-background t) +(defun mdw-set-viper-cursor-colour () + ;; ?? doesn't seem to work + (set-frame-parameter nil 'cursor-color "green") + (message ";; %S" post-command-hook) + (sit-for 2)) +;;(add-hook 'viper-vi-state-hook 'mdw-set-viper-cursor-colour) + +(defcustom mdw-black-background t + "Whether the Emacs background is black (or dark, at any rate)." + :type 'boolean) (eval-after-load "outline" '(progn @@ -665,10 +686,13 @@ ;; Other frame fiddling. -(defvar mdw-hostname +(defcustom mdw-hostname (if (string-match "\\." system-name) (substring system-name 0 (match-beginning 0)) - system-name)) + system-name) + "Unqualified hostname Emacs is running on." + :type 'string + :safe 'stringp) (setq frame-title-format '("Emacs " user-login-name "@" mdw-hostname " – %b") icon-title-format frame-title-format) @@ -720,6 +744,7 @@ (global-set-key [?\C-c ?m ?b] 'magit-blame) (global-set-key [?\C-c ?m ?d] 'magit-dispatch-popup) (global-set-key [?\C-c ?m ?f] 'magit-find-file) + (global-set-key [?\C-c ?m ?l] 'magit-toggle-buffer-lock) (global-set-key [?\C-c ?m ?m] 'magit-status) (global-set-key [?\C-c ?m ?r] 'magit-list-repositories) (global-set-key [?\C-c ?m ?w] 'magit-wip-log) @@ -745,6 +770,7 @@ (global-set-key [?\C-c ?v ?i] 'vm-visit-imap-folder) (global-set-key [?\C-c ?v ?m] 'vm-visit-folder) (global-set-key [?\C-c ?v ?v] 'mdw-auto-revert) + (global-set-key [?\C-c ?w ? ] 'mdw-designate-window) (global-set-key [?\C-c ?w ?b] 'w3m-bookmark-view) (global-set-key [?\C-c ?w ?c] 'mdw-set-frame-colour) (global-set-key [?\C-c ?w ?d] 'mdw-divvy-window) @@ -753,6 +779,7 @@ (global-set-key [?\C-c ?w ?k] 'windmove-up) (global-set-key [?\C-c ?w ?l] 'windmove-right) (global-set-key [?\C-c ?w ?r] 'winner-redo) + (global-set-key [?\C-c ?w ?s] 'mdw-switch-window-configuration) (global-set-key [?\C-c ?w ?u] 'winner-undo) (global-set-key [?\C-c ?w ?w] 'mdw-set-frame-width) (global-set-key [?\C-c ?w up] 'windmove-up)