;;;; ----------------------------------------------- ;;;; keyset.el ;;;; (2004.12.04 H.Morii moriih@scphys.kyoto-u.ac.jp) ;;;; ----------------------------------------------- ;;;; ----------------------------------------------- ;;; key settings ;;;; ----------------------------------------------- ;;;;; 1. C-hをBackSpaceに変える ;; 通常入力時 (global-set-key [?\C-h] 'delete-backward-char) ;; 日本語入力時用の設定 (require 'egg) (define-key its-mode-map "\C-h" 'its-delete-backward-SYL) (define-key egg-conversion-map "\C-h" 'egg-abort-conversion) ;;;;; 2. キーバインディング ;; (ある程度)通常のバインディング (global-set-key "\C-m" 'newline-and-indent) ; C-m を改行+インデントに (global-set-key "\C-j" 'newline) ; C-j を改行に ;; 独自のバインディング (global-set-key "\C-ci" 'indent-region) ; C-c c を範囲指定インデントに (global-set-key "\C-cc" 'comment-region) ; C-c c を範囲指定コメントに (global-set-key "\C-cu" 'uncomment-region) ; C-c u を範囲指定コメント解除に ;;;;; 3. Page-up, Page-downがバッファの端まで行くように ;; i) 専用のscroll-up, scroll-down関数 (defun my-scroll-up () "modified scroll up" (interactive) (let ((number-to-scroll (- (window-height) 6)) ; (windowの高さ-4)行移動する ) (next-line number-to-scroll) ) ) (defun my-scroll-down () "modified scroll down" (interactive) (let ((number-to-scroll (- (window-height) 6)) ; (windowの高さ-4)行移動する ) (previous-line number-to-scroll) ) ) ;; ii) キーにバインドする (ここをコメントアウトすると通常動作) ;(global-set-key [?\C-v] 'my-scroll-up) ;(global-set-key [?\M-v] 'my-scroll-down) ;(global-set-key [next] 'my-scroll-up) ;(global-set-key [prior] 'my-scroll-down) ;;;;; 4. 括弧を自動的に閉じる ;; i) 親の関数 (defun autoinsert-parenthesis (openp closep) (insert openp) (insert closep) (backward-char 1) ) ;; ii) 括弧の種類毎の関数 (defun autoinsert-p1 () (interactive) (autoinsert-parenthesis "(" ")")) (defun autoinsert-p2 () (interactive) (autoinsert-parenthesis "[" "]")) (defun autoinsert-p3 () (interactive) (autoinsert-parenthesis "{" "}")) (defun autoinsert-p4 () (interactive) (autoinsert-parenthesis "<" ">")) (defun autoinsert-p4 () (interactive) (autoinsert-parenthesis "<" ">")) ;; iii) キーの設定 (define-key global-map "(" 'autoinsert-p1) (define-key global-map "[" 'autoinsert-p2) (define-key global-map "{" 'autoinsert-p3) ;; iii)' htmlモードの場合はタグを閉じる設定を追加 (defadvice html-mode (after tag-close activate) (define-key global-map "<" 'autoinsert-p4) )