2011年6月15日

auto-install でできたもの

cygwin と NT emacs で auto-install で以下まではできた。
エラーとか出たやつは書いてない。のちのち、書いていく。
とりあえず、現状は以下。文字コードはあいかわらずさっぱり。

;; ------------------------------------------------------------------------
;; @ coding-system
;; (set-default-coding-systems 'japanese-shift-jis-dos)
;; (set-w32-system-coding-system 'japanese-shift-jis-dos)
;; (set-clipboard-coding-system 'japanese-shift-jis-dos)
;; (set-keyboard-coding-system 'japanese-shift-jis-dos)
;; (setq default-file-name-coding-system 'japanese-shift-jis-dos)
;; (setq default-buffer-file-coding-system 'japanese-shift-jis-dos)
;; (setq default-terminal-coding-system 'japanese-shift-jis-dos)
;; (setq default-keyboard-coding-system 'japanese-shift-jis-dos)
;; (setq default-process-coding-system '(japanese-shift-jis-dos . japanese-shift-jis-dos))
 
;; ------------------------------------------------------------------------
;; @ ime
   ;; 標準IMEの設定
   (setq default-input-method "W32-IME")
   ;; IME状態のモードライン表示
   (setq-default w32-ime-mode-line-state-indicator "[Aa]")
   (setq w32-ime-mode-line-state-indicator-list '("[Aa]" "[あ]" "[Aa]"))
   ;; IMEの初期化
   (w32-ime-initialize)
   ;; IME OFF時の初期カーソルカラー
   (set-cursor-color "red")
   ;; IME ON/OFF時のカーソルカラー
   (add-hook 'input-method-activate-hook
             (lambda() (set-cursor-color "green")))
   (add-hook 'input-method-inactivate-hook
             (lambda() (set-cursor-color "red")))
   ;; バッファ切り替え時にIME状態を引き継ぐ
   (setq w32-ime-buffer-switch-p nil)
;; ------------------------------------------------------------------------
;; @ cursor
   ;; カーソル点滅表示
   (blink-cursor-mode 0)
   ;; スクロール時のカーソル位置の維持
   (setq scroll-preserve-screen-position t)
   ;; スクロール行数(一行ごとのスクロール)
   (setq vertical-centering-font-regexp ".*")
   (setq scroll-conservatively 35)
   (setq scroll-margin 0)
   (setq scroll-step 1)
   ;; 画面スクロール時の重複行数
   (setq next-screen-context-lines 1)
;; ------------------------------------------------------------------------
;; @ modeline
   ;; 行番号の表示
   (line-number-mode t)
   ;; 列番号の表示
   (column-number-mode t)
   ;; 時刻の表示
   (require 'time)
   (setq display-time-24hr-format t)
   (setq display-time-string-forms '(24-hours ":" minutes))
   (display-time-mode t)
;; ------------------------------------------------------------------------
;; @ default setting
   ;; ;; 起動メッセージの非表示
   (setq inhibit-startup-message t)
   ;; ;; スタートアップ時のエコー領域メッセージの非表示
   (setq inhibit-startup-echo-area-message -1)
;; ------------------------------------------------------------------------
;; @ key bind
   ;; BS や Delete キーでリージョン内の文字を削除
   (delete-selection-mode 1)
;; ------------------------------------------------------------------------
;; @ 定型文の挿入 my-template-select
;; http://www.bookshelf.jp/soft/meadow_37.html#SEC554
(defvar my-template-text-file "~/.template")
(defvar my-template-buffer nil)
(defvar my-template-point nil)
(defun my-template-insert ()
  (interactive)
  (let (content)
    (when (setq
           content
           (get-text-property (point) :content))
      (save-excursion
        (set-buffer my-template-buffer)
        (save-excursion
          (goto-char my-template-point)
          (insert content))))))
(defun my-template-select ()
  (interactive)
  (let ((buffer
         (get-buffer-create "*select template*"))
        templates begin template-map text)
    (setq my-template-buffer (current-buffer)
          my-template-point  (point))
    (unless (file-readable-p my-template-text-file)
      (error "Couldn't read template file: %s"))
    (with-temp-buffer
      (insert-file-contents my-template-text-file)
      (goto-char (point-min))
      (while (re-search-forward "^\\*\\(.*\\)$" nil t)
        (when begin
          (setq templates
                (cons
                 (cons
                  (car templates)
                  (buffer-substring
                   begin (1- (match-beginning 0))))
                 (cdr templates))))
        (setq templates (cons (match-string 1) templates))
        (setq begin (1+ (match-end 0))))
      (when begin
        (setq templates
              (cons
               (cons
                (car templates)
                (buffer-substring begin (point-max)))
               (cdr templates)))))
    (pop-to-buffer buffer)
    (setq buffer-read-only nil
          major-mode       'template-select-mode
          mode-name        "Select Template"
          template-map     (make-keymap))
    (suppress-keymap template-map)
    (define-key template-map " "    'my-template-insert)
    (define-key template-map "\C-m" 'my-template-insert)
    (define-key template-map "n"    'next-line)
    (define-key template-map "p"    'previous-line)
    (define-key template-map "q"    'kill-buffer-and-window)
    (use-local-map template-map)
    (buffer-disable-undo)
    (delete-region (point-min) (point-max))
    (dolist (tt templates)
      (setq text (concat (car tt) "\n"))
      (put-text-property
       0 (length text) :content (cdr tt) text)
      (insert text)
      (goto-char (point-min)))
    (delete-region (1- (point-max)) (point-max))
    (setq buffer-read-only t)
    (set-buffer-modified-p nil)))
;; ------------------------------------------------------------------------
;; @ iserarchで日本語を使う
;; http://highmt.wordpress.com/2010/10/25/isearchで日本語入力をやりやすくするパッチ/
(defun w32-isearch-update ()
  (interactive)
  (isearch-update))
(define-key isearch-mode-map [compend] 'w32-isearch-update)
(define-key isearch-mode-map [kanji] 'isearch-toggle-input-method)
(add-hook 'isearch-mode-hook
          (lambda () (setq w32-ime-composition-window (minibuffer-window))))
(add-hook 'isearch-mode-end-hook
          (lambda () (setq w32-ime-composition-window nil)))

;; ロードパスの追加
(add-to-list 'load-path
      "~\\.emacs.d\\cygwin")
(setq cygwin-mount-cygwin-bin-directory "c:/cygwin/bin")
(require 'setup-cygwin)
;; (setenv "HOME" "/home/HOGEHOEG") ;環境変数で設定していないときは必要
;; ------------------------------------------------------------------------
;; @ auto-install.el
;; ロードパスの追加
(add-to-list 'load-path
      "~\\.emacs.d\\auto-install")
(require 'auto-install)
(setq auto-install-directory "~\\.emacs.d\\auto-install")
;; 起動時にEmacsWikiのページ名を補完候補に加えない
(auto-install-update-emacswiki-package-name t)
;; install-elisp.el 互換モードにする
(auto-install-compatibility-setup)
;; ediff 関連のバッファを1つのフレームにまとめる
(setq ediff-window-setup-function 'ediff-setup-windows-plain)
(put 'downcase-region 'disabled nil)
;; ------------------------------------------------------------------------
;; @ 括弧の対応表示
;; http://ksugita.blog62.fc2.com/category1-2.html
(setq blink-matching-paren t)
(show-paren-mode t)
(setq paren-sexp-mode t)
(set-face-background 'show-paren-match "royalBlue1")
;; ------------------------------------------------------------------------
;; @ ispell が無いから、aspell を使う
;; http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?Aspell
(setq-default ispell-program-name "aspell")
(eval-after-load "ispell"
 '(add-to-list 'ispell-skip-region-alist '("[^\000-\377]+")))
;; ------------------------------------------------------------------------
;; @ 細かな設定
;; startup directory
(setq default-directory "~/")
;; ファイルのカーソル内の位置を記憶
(setq-default save-place t)
;; ガベッジコレクション閾値 を 4MB に
(setq gc-cons-threshold 4194304)
;; ログの記録行数を増やす
(setq message-log-max 10000)
;; キーストロークの表示速度を上げる
(setq echo-keystrokes 0.1)
;; でかいファイルも普通に開く(デフォルトは10MB)
(setq large-file-warning-threshold (* 25 1024 1024)) ;25MB
;; いちいち yes とか無理だから y にする
(defalias 'yes-or-no-p 'y-or-n-p)
;; ------------------------------------------------------------------------
;; @ 前回編集していた場所を記憶し,ファイルを開いた時にそこへカーソルを移動
;;   デフォルトでついている
(require 'saveplace)
(setq-default save-place t)
;; ------------------------------------------------------------------------
;; @ 最近使ったファイルを開く recentf-ext.el
;; 最近のファイルを3000個保存する
(setq recentf-max-saved-items 3000)
;; 読み込み
(require 'recentf-ext)
;; ------------------------------------------------------------------------
;; @ redo も必要
(require 'redo+)
(setq undo-no-redo t)   ; 過去の undo は 覚えない
(global-set-key (kbd "C-M-/") 'redo)
(setq undo-limit 600000)  ;いっぱいundo
(setq undo-strong-limit 900000)
;; ------------------------------------------------------------------------
;; @ 桁をハイライトする
(require 'col-highlight)
;; (column-highlight-mode 1)   ;常にハイライト
(toggle-highlight-column-when-idle 1) ;何もしないでいるとハイライトを始める
(col-highlight-set-interval 6)  ;ハイライトの秒数を指定
(custom-set-faces
  ;; custom-set-faces was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
 '(col-highlight ((t (:background "RoyalBlue4")))))
;; ------------------------------------------------------------------------
;; @ 使い捨てのファイルを開く open-junk-file.el
;; 読み込み
(require 'open-junk-file)
;; ファイル名およびファイル場所の指定
(setq open-junk-file-format "~/junk/%Y-%m-%d-%H%M%S.")
;; ------------------------------------------------------------------------
;; @ anything
(require 'anything-startup)

;; ------------------------------------------------------------------------
;; @ migemo
(add-to-list 'load-path "~\\.emacs.d\\migemo")
;; 基本設定
(setq migemo-command "cmigemo")
(setq migemo-options '("-q" "--emacs"))
;; migemo-dict のパスを指定
(setq migemo-dictionary "~\\.emacs.d\\dict\\migemo-dict")
(setq migemo-user-dictionary nil)
(setq migemo-regex-dictionary nil)
;; キャッシュ機能を利用する
(setq migemo-use-pattern-alist t)
(setq migemo-use-frequent-pattern-alist t)
(setq migemo-pattern-alist-length 1024)
;; 辞書の文字コードを指定.
(setq migemo-coding-system 'japanese-shift-jis-unix) ;;; <= EUCではない
(load-library "migemo")
;; 起動時に初期化も行う
(migemo-init)

0 件のコメント:

コメントを投稿