;;; -*- Mode: Lisp; Package: editor -*- ;;; def.l --- Default Lisp 設定。 ;; ;; Created: [2006/10/26] ;; Last updated: [2008/04/24] ;;; Commentary: ;; ;; 環境依存設定 ;; filer.l: *filer-directories* ;;; Change Log: ;;; Code: (provide "def") (in-package "editor") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; backup.l (require "backup") (setf ;; バックアップディレクトリ *backup-directory* (concat (user-config-path) ".backup/") ;; 自動保存ディレクトリ *auto-save-to-backup-directory* *backup-directory* ) ;; 2 週間以上前のファイルを削除 (add-hook '*post-startup-hook* #'(lambda () (dolist ( list-file (directory *backup-directory* :file-only t :file-info t ) ) (if (> (- (get-universal-time) (caddr list-file)) 1209600 ) (delete-file (merge-pathnames (car list-file) *backup-directory* ) ) ) ) ) ) ;;; backup.l ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; basic-mode ;;==================================== ;; インデント幅 (setf *basic-indent-level* 4 *basic-continued-line-offset* 4 *basic-label-offset* -4 ) ;; インデント幅 ;;==================================== ;;; basic-mode ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; buf-menu.l ;; buffer-menu (global-set-key '(#\C-x #\C-b) 'buffer-menu) ;;==================================== ;; Keymap ;; カレントウィンドウにバッファ表示 (define-key *buffer-menu-mode-map* #\RET 'buffer-menu-this-window) ;; 次のウィンドウにバッファ表示 (define-key *buffer-menu-mode-map* #\TAB 'buffer-menu-other-window) ;; 次のウィンドウにバッファ表示 (define-key *buffer-menu-mode-map* #\SPC 'buffer-menu-other-window) ;; 削除マーク (define-key *buffer-menu-mode-map* #\C-d 'buffer-menu-delete-backward) ;; 変更フラグクリア (define-key *buffer-menu-mode-map* #\* 'buffer-menu-not-modified) ;; 次の行 (define-key *buffer-menu-mode-map* #\n 'next-virtual-line) ;; 1 ウィンドウでバッファ表示 (define-key *buffer-menu-mode-map* #\o 'buffer-menu-1-window) ;; 前の行 (define-key *buffer-menu-mode-map* #\p 'previous-virtual-line) ;; buffer-menu 閉じる (define-key *buffer-menu-mode-map* #\q 'my-delete-buffer-and-window) ;; Keymap ;;==================================== ;;==================================== ;; Undefine (undefine-key *buffer-menu-mode-map* #\~) (undefine-key *buffer-menu-mode-map* #\1) (undefine-key *buffer-menu-mode-map* #\f) (undefine-key *buffer-menu-mode-map* #\k) (undefine-key *buffer-menu-mode-map* #\C-k) ;; Undefine ;;==================================== ;;; buf-menu.l ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; c-mode.l (setf ;; インデントを Tab に *c-indent-tabs-mode* t ;;==================================== ;; インデント幅 c-indent-level 4 c-continued-statement-offset 4 c-argdecl-indent 4 c-brace-offset -4 c-label-offset -4 c-comment-indent 0 ;; インデント幅 ;;==================================== ) (add-hook '*c-mode-hook* #'(lambda () ;;==================================== ;; Keymap (define-key *c-mode-map* #\TAB 'self-insert-command) (define-key *c-mode-map* '(#\C-c #\x) 'my-cl-run) (define-key *c-mode-map* #\C-h 'delete-backward-char-or-selection) ;; Keymap ;;==================================== ) ) ;;; c-mode.l ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; c++-mode.l (setf ;; インデントを Tab に *c++-indent-tabs-mode* t ;;==================================== ;; インデント幅 c++-indent-level 4 c++-continued-statement-offset 4 c++-argdecl-indent 4 c++-brace-offset -4 c++-label-offset -4 c++-comment-indent 0 ;; インデント幅 ;;==================================== ) (add-hook '*c++-mode-hook* #'(lambda () ;;==================================== ;; Keymap (define-key *c++-mode-map* #\TAB 'self-insert-command) (define-key *c++-mode-map* '(#\C-c #\x) 'my-cl-run) (define-key *c++-mode-map* #\C-h 'delete-backward-char-or-selection) ;; Keymap ;;==================================== ) ) ;;; c++-mode.l ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; calc.l ;; 除算結果を少数で表示 (setf *calc-ratio* 'float) ;;; calc.l ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; calendar.l (require "calendar") (setf *calendar-japanese-holiday-list* '( ;1873(明治6)年10月15日 太政官布告344号 (1874 1912 1 3 "元始祭") (1874 1912 1 5 "新年宴會") (1874 1912 1 30 "孝明天皇祭") (1874 1912 2 11 "紀元節") (1874 1912 4 3 "神武天皇祭") (1874 1878 9 17 "神嘗祭") (1873 1911 11 3 "天長節") (1873 1911 11 23 "新嘗祭") ;1878(明治11)年6月5日 太政官布告23号 (1879 1912 3 calendar-vernal-equinox "春季皇靈祭") (1878 1911 9 calendar-autumnal-equinox "秋季皇靈祭") ;1879(明治12)年7月5日 太政官布告27号 (1879 1911 10 17 "神嘗祭") ;1912(大正元)年9月3日 勅令19号 (即日施行) (1913 1927 1 3 "元始祭") (1913 1927 1 5 "新年宴會") (1913 1927 2 11 "紀元節") (1913 1926 3 calendar-vernal-equinox "春季皇靈祭") (1913 1926 4 3 "神武天皇祭") (1913 1926 7 30 "明治天皇祭") (1913 1926 8 31 "天長節") (1912 1926 9 calendar-autumnal-equinox "秋季皇靈祭") (1912 1926 10 17 "神嘗祭") (1912 1926 11 23 "新嘗祭") ;1913(大正2)年7月16日 勅令259号 (1913 1926 10 31 "天長節祝日") ;1915(大正4)年9月21日 勅令161号 (1915 1915 11 10 "即位ノ禮") (1915 1915 11 14 "大嘗祭") (1915 1915 11 16 "即位禮及大嘗祭後大饗第一日") ;1927(昭和2)年3月3日 勅令25号 (即日施行) (1928 1948 1 3 "元始祭") (1928 1948 1 5 "新年宴會") (1928 1948 2 11 "紀元節") (1927 1948 3 calendar-vernal-equinox "春季皇靈祭") (1927 1948 4 3 "神武天皇祭") (1927 1948 4 29 "天長節") (1927 1947 9 calendar-autumnal-equinox "秋季皇靈祭") (1927 1947 10 17 "神嘗祭") (1927 1947 11 3 "明治節") (1927 1947 11 23 "新嘗祭") (1927 1947 12 25 "大正天皇祭") ;1928(昭和3)年9月8日 勅令226号 (1928 1928 11 10 "即位ノ禮") (1928 1928 11 14 "大嘗祭") (1928 1928 11 16 "即位禮及大嘗祭後大饗第一日") ;1948(昭和23)年7月20日 法律第178号 (即日施行) (1949 nil 1 1 "元日") (1949 1999 1 15 "成人の日") (1949 nil 3 calendar-vernal-equinox "春分の日") (1949 1988 4 29 "天皇誕生日") (1949 nil 5 3 "憲法記念日") (1949 nil 5 5 "こどもの日") (1948 nil 9 calendar-autumnal-equinox "秋分の日") (1948 nil 11 3 "文化の日") (1948 nil 11 23 "勤労感謝の日") ;1959(昭和34)年3月17日 法律16号 (即日施行) (1959 1959 4 10 "皇太子明仁親王の結婚の儀") ;1966(昭和41)年6月25日 法律86号 (即日施行) (1967 nil 2 11 "建国記念の日") (1966 2002 9 15 "敬老の日") (1966 1999 10 10 "体育の日") ;1989(平成元)年2月17日 法律4号 (即日施行) (1989 1989 2 24 "昭和天皇の大喪の礼") ;1989(平成元)年2月17日 法律5号 (即日施行) (1989 2006 4 29 "みどりの日") (1989 nil 12 23 "天皇誕生日") ;1990(平成2)年6月1日 法律24号 (即日施行) (1990 1990 11 12 "即位礼正殿の儀") ;1993(平成5)年4月30日 法律32号 (即日施行) (1993 1993 6 9 "皇太子徳仁親王の結婚の儀") ;1995(平成7)年3月8日 法律22号 (1996(平成8)年1月1日施行) (1996 2002 7 20 "海の日") ;1998(平成10)年10月21日 法律141号 (2000(平成12)年1月1日施行) (2000 nil 1 (1 . 1) "成人の日") (2000 nil 10 (1 . 1) "体育の日") ;2001(平成13)年6月22日 法律59号 (2003(平成15)年1月1日施行) (2003 nil 7 (2 . 1) "海の日") (2003 nil 9 (2 . 1) "敬老の日") ;2005(平成17)年5月20日 法律43号 (2007(平成19)年1月1日施行) (2007 nil 4 29 "昭和の日") (2007 nil 5 4 "みどりの日") )) (defun calendar-japanese-holiday (year month v) (let ((sun (- 1 (calendar-ut-day year month 1))) ;; 1985(昭和60)年12月27日 法律103号 (即日施行) - 国民の休日 (nh (and (> year 1985) "国民の休日")) ;; 2005(平成17)年5月20日 法律第43号 (平成19年1月1日施行) - 振替休日の改正 (ex2 (>= year 2007)) ;; 1973(昭和48)年4月12日 法律10号 (即日施行) - 振替休日 (ex (and (or (> year 1973) (and (= year 1973) (>= month 4))) (< year 2007)))) (dotimes (i (length v)) (setf (svref v i) nil)) (when (<= year *calendar-gregorian-reform-year*) (return-from calendar-japanese-holiday)) (dolist (x *calendar-japanese-holiday-list*) (when (and (>= year (pop x)) (let ((e (pop x))) (or (null e) (<= year e))) (= month (pop x))) (let ((day (let ((d (pop x))) (cond ((numberp d) d) ((consp d) (let ((n (+ (cdr d) sun))) (+ (if (plusp n) n (+ n 7)) (* 7 (car d))))) (t (funcall d year)))))) (when day (setf (svref v day) (car x)))))) (when nh (do ((d 3 (+ d 1))) ((>= d (length v))) (when (and (svref v d) (not (svref v (- d 1))) (svref v (- d 2))) (setf (svref v (- d 1)) nh)))) (do ((d (if (plusp sun) sun (+ sun 7)) (+ d 7))) ((>= d (- (length v) 1))) (cond ((or (null (svref v d)) (eq (svref v d) nh)) (setf (svref v d) t)) ((and ex2 (not (eq (svref v d) nh))) (let ((s nil)) (do ((p 1 (+ p 1))) ((or (> p 6) (>= (+ d p) (- (length v) 1)) s) nil) (and (or (eq (svref v (+ d p)) nh) (null (svref v (+ d p)))) (setq s p))) (and s (setf (svref v (+ d s)) "振替休日")))) ((and ex (not (eq (svref v d) nh)) (or (eq (svref v (+ d 1)) nh) (null (svref v (+ d 1))))) (setf (svref v (+ d 1)) "振替休日")))))) ;;; calendar.l ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; css-mode.l (add-hook '*css-mode-hook* #'(lambda () ;;==================================== ;; インデントコマンド (make-local-variable 'mode-specific-indent-command) (make-local-variable 'c-comment-indent-variable) (setf c-comment-indent-variable 'c-comment-indent mode-specific-indent-command 'c-indent-line ) ;; インデントコマンド ;;==================================== ;;==================================== ;; インデント幅 (make-local-variable 'c-indent-level) (make-local-variable 'c-continued-statement-offset) (make-local-variable 'c-brace-offset) (make-local-variable 'c-brace-imaginary-offset) (make-local-variable 'c-argdecl-indent) (make-local-variable 'c-label-offset) (setf c-indent-level 4 c-continued-statement-offset 4 c-brace-offset -4 c-brace-imaginary-offset 0 c-argdecl-indent 0 c-label-offset 0 ) ;; インデント幅 ;;==================================== ;; コメント (setf comment-indent-function 'c-comment-indent comment-start "/* " comment-end " */" comment-start-skip "/\\(\\*+\\|/\\)[ \t]*" ) ;;==================================== ;; Keymap (define-key *css-mode-map* #\{ 'c-electric-insert) (define-key *css-mode-map* #\: 'c-electric-insert) (define-key *css-mode-map* #\} 'c-electric-close) (define-key *css-mode-map* #\C-h 'delete-backward-char-or-selection) (define-key *css-mode-map* #\TAB 'self-insert-command) (define-key *css-mode-map* #\C-M-q 'indent-sexp) (define-key *css-mode-map* #\RET 'c-newline-and-indent) ;; Keymap ;;==================================== ) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; dabbrev.l ;;; 補完 Pop-up ;; 補完リストをポップアップで表示 (setf *popup-completion-list-default* :always) ;; Keymap (global-set-key #\M-\. 'dabbrev-popup) ;;; dabbrev.l ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; diff.l (setf *diff-command-name* (concat (si:system-root) "etc/diff.exe" ) *diff-command-option* "-a --dos" ) (add-hook '*diff-mode-hook* #'(lambda () (setf *diff-old-file-background* 10 *diff-new-file-background* 10 *diff-merge-foreground* 8 *diff-merge-background* 7 ) (make-local-variable 'mode-line-format) (setf mode-line-format "%b %#F %P") ;; Keymap (define-key *diff-mode-map* #\P 'diff-make-patch) ) ) ;;; diff.l ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; filer.l (setf ;; 登録ディレクトリ *filer-directories* '( ("Doc" . "C:/Documents and Settings/") ("MyRoot" . "C:/myroot/") ("xyzzy" . "C:/myroot/bin/xyzzy/") ) ;; 初期左側ディレクトリ *filer-primary-directory* (user-homedir-pathname) ;;==================================== ;; 初期 Mask *filer-primary-file-mask* '("*") *filer-secondary-file-mask* '("*") ;; 初期 Mask ;;==================================== ;; ゴミ箱を使って削除 *filer-use-recycle-bin* t ;; ガイドテキスト *filer-guide-text* nil ) ;;==================================== ;; Keymap (define-key filer-keymap #\F5 'filer-reload) (define-key filer-keymap #\@ 'filer-context-menu) (define-key filer-keymap #\a 'filer-toggle-mark) (define-key filer-keymap #\A 'filer-toggle-mark-files) (define-key filer-keymap #\C-a 'filer-clear-all-marks) (define-key filer-keymap #\c 'filer-copy) (define-key filer-keymap #\d 'filer-delete) ;;------------------------------------ ;; 左右のマークファイルで Diff (autoload 'diff-mark-files "diff-util" t) (define-key filer-keymap #\M-d 'diff-mark-files) ;; 左右のマークファイルで Diff ;;------------------------------------ (define-key filer-keymap #\E 'filer-input-file-name) (define-key filer-keymap #\f 'filer-search-name) (define-key filer-keymap #\g 'filer-search) (define-key filer-keymap #\L 'filer-load-file) ;; Filer Recenter (define-key filer-keymap #\C-l 'my-filer-recenter) (define-key filer-keymap #\l 'filer-change-drive) (define-key filer-keymap #\j 'filer-jump-directory) (define-key filer-keymap #\k 'filer-create-directory) (define-key filer-keymap #\m 'filer-move) ;; 次の行 or 先頭へ (define-key filer-keymap #\n 'my-filer-forward-line) (define-key filer-keymap #\C-n 'my-filer-forward-line) (define-key filer-keymap #\o 'filer-sync-with-primary) (define-key filer-keymap #\O 'filer-sync-with-secondary) ;; 前の行 or 末尾へ (define-key filer-keymap #\p 'my-filer-backward-line) (define-key filer-keymap #\C-p 'my-filer-backward-line) (define-key filer-keymap #\q 'filer-cancel) (define-key filer-keymap #\r 'filer-rename) (define-key filer-keymap #\s 'filer-isearch-forward) (define-key filer-keymap #\S 'filer-sort-items) (define-key filer-keymap #\v 'filer-forward-page) (define-key filer-keymap #\C-v 'filer-forward-page) (define-key filer-keymap #\w 'filer-copy-as) (define-key filer-keymap #\x 'filer-shell-execute) (define-key filer-keymap #\X 'filer-execute-application) (define-key filer-keymap #\z 'filer-backward-page) (define-key filer-keymap #\C-z 'filer-backward-page) ;; Keymap ;;==================================== ;;==================================== ;; Undefine (undefine-key filer-keymap #\C) (undefine-key filer-keymap #\C-b) (undefine-key filer-keymap #\D) (undefine-key filer-keymap #\F) (undefine-key filer-keymap #\C-f) (undefine-key filer-keymap #\G) (undefine-key filer-keymap #\J) (undefine-key filer-keymap #\K) (undefine-key filer-keymap #\M) (undefine-key filer-keymap #\N) (undefine-key filer-keymap #\P) (undefine-key filer-keymap #\Q) (undefine-key filer-keymap #\R) (undefine-key filer-keymap #\T) (undefine-key filer-keymap #\U) (undefine-key filer-keymap #\C-u) (undefine-key filer-keymap #\V) (undefine-key filer-keymap #\M-v) (undefine-key filer-keymap #\W) (undefine-key filer-keymap #\Y) (undefine-key filer-keymap #\Z) (undefine-key filer-keymap #\F3) (undefine-key filer-keymap #\F5) (undefine-key filer-keymap #\F6) (undefine-key filer-keymap #\S-F10) (undefine-key filer-keymap #\*) (undefine-key filer-keymap #\/) (undefine-key filer-keymap #\=) (undefine-key filer-keymap #\^) (undefine-key filer-keymap #\]) (undefine-key filer-keymap #\Left) (undefine-key filer-keymap #\Right) (undefine-key filer-keymap #\PageUp) (undefine-key filer-keymap #\PageDown) (undefine-key filer-keymap #\Home) (undefine-key filer-keymap #\S-Home) (undefine-key filer-keymap #\C-Home) (undefine-key filer-keymap #\S-C-Home) (undefine-key filer-keymap #\End) ;; Undefine ;;==================================== ;;; filer.l ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; grep.l ;; Keymap (defvar *grep-mode-map* nil) (unless *grep-mode-map* (setf *grep-mode-map* (make-sparse-keymap)) (define-key *grep-mode-map* #\n 'next-virtual-line) (define-key *grep-mode-map* #\p 'previous-virtual-line) (define-key *grep-mode-map* #\q 'my-delete-buffer-and-window) (define-key *grep-mode-map* #\v 'next-page) (define-key *grep-mode-map* #\z 'previous-page) (define-key *grep-mode-map* #\RET 'first-error) ) ;; Hook (add-hook '*grep-hook* #'(lambda () ;; Keymap (use-keymap *grep-mode-map*) (setf ;; 読み取り専用に buffer-read-only t ;; マッチした文字列に色づけ *grep-highlight-match* '(:bold t :foreground 1) ) ) ) ;;; grep.l ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; grepd.l (add-hook '*grepd-hook* #'(lambda () ;; Keymap (use-keymap *grep-mode-map*) (setf ;; 読み取り専用に buffer-read-only t ;; マッチした文字列に色づけ *grep-highlight-match* '(:bold t :foreground 1) ) ) ) ;;; grepd.l ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; isearch.l (require "isearch") ;; 1 文字削除 (define-key *isearch-map* #\M-b 'my-isearch-real-delete-char) ;; 正規表現トグル (define-key *isearch-map* #\M-e 'my-isearch-regexp-toggle) ;; 1 文字追加 (define-key *isearch-map* #\M-f 'my-isearch-yank-char) ;; クリップボードから貼付 (define-key *isearch-map* #\C-y 'isearch-paste-from-clipboard) ;;; isearch.l ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; java.l (setf ;; インデントをタブに *java-indent-tabs-mode* t ;;==================================== ;; インデント幅 java-indent-level 4 java-continued-statement-offset 4 java-argdecl-indent 4 java-brace-offset -4 java-label-offset -4 java-comment-indent 0 ;; インデント幅 ;;==================================== ) (add-hook '*java-mode-hook* #'(lambda () ;;==================================== ;; Keymap (define-key *java-mode-map* #\TAB 'self-insert-command) (define-key *java-mode-map* #\C-h 'delete-backward-char-or-selection) ;; Keymap ;;==================================== ) ) ;;; java.l ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; lispmode.l ;; Keyword Hash Table (defvar *lisp-keyword-hash-table* nil) (setf ;; 補完ポップアップ *lisp-popup-completion-list* t ;;==================================== ;; インデント幅 *lisp-body-indention* 4 *lisp-body-indent* 4 ;; インデント幅 ;;==================================== ) ;; Hook (add-hook '*lisp-mode-hook* #'(lambda () ;;==================================== ;; キーワード色づけ (if (null *lisp-keyword-hash-table*) (setf *lisp-keyword-hash-table* (load-keyword-file "lisp")) ) (when *lisp-keyword-hash-table* (make-local-variable 'keyword-hash-table) (setf keyword-hash-table *lisp-keyword-hash-table*) ) ;; キーワード色づけ ;;==================================== ) ) ;;==================================== ;; Keymap ;; タブ挿入 (define-key *lisp-mode-map* #\TAB 'self-insert-command) ;; require、autoload、load-library の指定ファイルを開く (define-key *lisp-mode-map* #\F10 'my-open-lisp-load-file) ;; Lisp シンボル補完 (define-key *lisp-mode-map* #\F13 'lisp-complete-symbol) ;; 現在行をインデント (define-key *lisp-mode-map* #\F16 'lisp-indent-line) ;; セレクション or カーソル後方の文字を削除 (define-key *lisp-mode-map* #\C-h 'delete-backward-char-or-selection) ;; Keymap ;;==================================== ;;; lispmode.l ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; lisp-interaction-mode (add-hook '*lisp-interaction-mode-hook* #'(lambda () ;; キーワード色づけ (if (null *lisp-keyword-hash-table*) (setf *lisp-keyword-hash-table* (load-keyword-file "lisp")) ) (when *lisp-keyword-hash-table* (make-local-variable 'keyword-hash-table) (setf keyword-hash-table *lisp-keyword-hash-table*) ) ;; キーワード色づけ ;;==================================== ) ) ;;==================================== ;; Keymap ;; タブ挿入 (define-key *lisp-interaction-mode-map* #\TAB 'self-insert-command) ;; require、autoload、load-library の指定ファイルを開く (define-key *lisp-interaction-mode-map* #\F10 'my-open-lisp-load-file) ;; Lisp シンボル補完 (define-key *lisp-interaction-mode-map* #\F13 'lisp-complete-symbol) ;; 現在行をインデント (define-key *lisp-interaction-mode-map* #\F16 'lisp-indent-line) ;; セレクション or カーソル後方の文字を削除 (define-key *lisp-interaction-mode-map* #\C-h 'delete-backward-char-or-selection) ;; Keymap ;;==================================== ;;; lisp-interaction-mode ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; minibuf.l ;; 補完リストを *Completion* バッファで表示 (setf *minibuffer-popup-completion-list* :never) (dolist ( list-keymap (list minibuffer-local-completion-map minibuffer-local-must-match-map ) ) ;; *Completion* バッファを上にページスクロール (define-key list-keymap #\M-v 'my-next-page-previous-window) ;; *Completion* バッファを下にページスクロール (define-key list-keymap #\M-z 'my-previous-page-previous-window) ) ;;==================================== ;; ミニバッファの IME を Off で始める (add-hook '*enter-minibuffer-hook* 'my-start-minibuffer-ime-off-1) (add-hook '*exit-minibuffer-hook* 'my-start-minibuffer-ime-off-2) ;; ミニバッファの IME を Off で始める ;;==================================== ;;; minibuf.l ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; perl.l (add-hook '*perl-mode-hook* #'(lambda () ;;==================================== ;; Keymap ;; perltidy で整形 (define-key *perl-mode-map* '(#\C-c #\F8) 'my-perltidy-run) (define-key *perl-mode-map* #\C-h 'delete-backward-char-or-selection) (define-key *perl-mode-map* #\TAB 'self-insert-command) ;; Keymap ;;==================================== ) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; search.l (define-key *query-replace-map* #\C-y 'paste-from-clipboard) ;;; search.l ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; textmode.l (add-hook '*text-mode-hook* #'(lambda () ;; 非表示ウィンドウフラグ (set-local-window-flags (selected-buffer) (+ ;; Tab *window-flag-tab* ;; 全角 Space *window-flag-full-width-space* ;; EOF *window-flag-eof* ) nil ) ) ) ;;; textmode.l ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; def.l ends here