X-Git-Url: http://gitweb.hugovil.com/?a=blobdiff_plain;f=stage5%2Fmisc%2Femacs%2Femacsrc;h=913dcabf11876801f6b8783b9ffc9a30ed5bf891;hb=084138d08f9c85bbb7ba547e5e335cb478c4b11c;hp=d9259f5be4911fe537d112ca43d81af87dc683ed;hpb=516f122ab39b7d7a83b26d4c834012bc9d17a000;p=hvlinux.git diff --git a/stage5/misc/emacs/emacsrc b/stage5/misc/emacs/emacsrc index d9259f5..913dcab 100644 --- a/stage5/misc/emacs/emacsrc +++ b/stage5/misc/emacs/emacsrc @@ -7,6 +7,9 @@ ;; Do not display a splash screen on startup (setq inhibit-splash-screen t) +;; Do not open a scratch buffer +(kill-buffer "*scratch*") + ;; Emacs Load Path (setq load-path (cons "/usr/local/share/emacs/site-lisp" load-path)) @@ -73,10 +76,34 @@ (interactive) (compile (concat "checkpatch.pl --no-tree --emacs --strict --file " (buffer-file-name)))) +(setq my-skippable-buffers '("*Messages*" "*scratch*" "*Help*" "*Completions*")) + +(defun my-change-buffer (change-buffer) + "Call CHANGE-BUFFER until current buffer is not in `my-skippable-buffers'." + (let ((initial (current-buffer))) + (funcall change-buffer) + (let ((first-change (current-buffer))) + (catch 'loop + (while (member (buffer-name) my-skippable-buffers) + (funcall change-buffer) + (when (eq (current-buffer) first-change) + (switch-to-buffer initial) + (throw 'loop t))))))) + +(defun my-next-buffer () + "`next-buffer' that skips `my-skippable-buffers'." + (interactive) + (my-change-buffer 'next-buffer)) + +(defun my-previous-buffer () + "`previous-buffer' that skips `my-skippable-buffers'." + (interactive) + (my-change-buffer 'previous-buffer)) + ;; F1: Switch to previous buffers -(global-set-key [f1] 'previous-buffer) +(global-set-key [f1] 'my-previous-buffer) ;; F2: Switch to next buffers -(global-set-key [f2] 'next-buffer) +(global-set-key [f2] 'my-next-buffer) ;; F4: make clean (global-set-key [f4] 'compile-make-clean) @@ -174,6 +201,10 @@ (add-to-list 'auto-mode-alist '("/ac\\(include\\|local\\)\\.m4\\'" . autoconf-mode)) +;; Default for XSL and XML files. +(add-to-list 'auto-mode-alist '("\\.xsl$" . sgml-mode)) +(add-to-list 'auto-mode-alist '("\\.xml$" . sgml-mode)) + ;; When an Emacs init file gets large or has a lot of function definitions, you ;; should consider compiling it: it will load faster when Emacs starts, and its ;; functions will execute faster.