; Copyright (C) 2011 by Hiroki Yamamoto; last updated : 2014/06/11-01:40:53;; -----------------------------[ `Load-Path' ]------------------------------ ;;(setq load-path (append '("~/site-lisp" "~/site-lisp/emacs-w3m-master" "~/site-lisp/twittering-mode-3.0.0"; "~/site-lisp/malabar-1.5-SNAPSHOT/lisp" ) load-path));; -------------------------------------------------------------------------- ;;;; --------------------------[ `日本語入力の設定' ]-------------------------- ;;(require 'kkc)(require 'quail)(define-key kkc-keymap "\C-h" 'kkc-cancel)(define-key quail-conversion-keymap (kbd "C-h") 'quail-conversion-backward-delete-char)(setq quail-japanese-use-double-n t) ;; -------------------------------------------------------------------------- ;;;; -----------------------------[ `Face-Color' ]----------------------------- ;;;; background(set-face-background 'default "black") ; 背景(set-face-background 'cursor "snow") ; カーソル(set-face-background 'tooltip "show") ; ツール(set-face-background 'region "DeepSkyBlue3") ; 選択範囲(set-face-background 'mode-line "black") ; モードライン;; foreground(set-face-foreground 'default "snow") ; 文字(set-face-foreground 'tooltip "black") ; ツール(set-face-foreground 'region "snow") ; 選択範囲(set-face-foreground 'mode-line "yellow") ; モードライン;; 透過(set-frame-parameter (selected-frame) 'alpha '(85 70));; -------------------------------------------------------------------------- ;;;; ------------------------[ `Japanese-Environment' ]------------------------ ;;(set-language-environment "Japanese")(set-default-coding-systems 'japanese-shift-jis-dos)(set-terminal-coding-system 'japanese-shift-jis-dos)(set-buffer-file-coding-system 'japanese-shift-jis-dos)(set-keyboard-coding-system 'japanese-shift-jis-dos)(set-clipboard-coding-system 'japanese-shift-jis-dos)(setq file-name-coding-system 'japanese-shift-jis-dos);(modify-coding-system-alist 'file "\\.c\\'" 'utf-8-unix) ; 文字化け対策;(modify-coding-system-alist 'file "\\.h\\'" 'utf-8-unix) ; 文字化け対策;(modify-coding-system-alist 'file "\\.tex\\'" 'euc-jp) ; texlive2012以前;; -------------------------------------------------------------------------- ;;;; ----------------------------[ `Font-Setting' ]---------------------------- ;;;; Inconsolata & Takao-gothic;(add-to-list 'default-frame-alist '(font . "Inconsolata-12"));(set-default-font "Inconsolata-12");(set-frame-font "Inconsolata-12");(set-face-font 'variable-pitch "Inconsolata-12");(set-fontset-font (frame-parameter nil 'font); 'japanese-jisx0208; '("Takaoゴシック" . "unicode-bmp"));; Ricty;(set-frame-font "ricty-12");; MS ゴシック(set-frame-font "MS ゴシック-10");; -------------------------------------------------------------------------- ;;;; ---------------------------[ `Frame-Setting' ]---------------------------- ;;;; 初期フレーム(setq initial-frame-alist (append (list '(top . 000) '(left . 1920) '(height . 079) '(width . 162) '(alpha . (85 70)) '(font . "MS ゴシック-10") ; '(font . "ricty-12") ) initial-frame-alist));; 新規フレーム(setq default-frame-alist initial-frame-alist)(setq default-frame-alist (append (list '(top . 000) '(left . 1300) '(height . 079) '(width . 081) '(alpha . (85 70)) '(font . "MS ゴシック-10") ; '(font . "ricty-12") ) default-frame-alist));; -------------------------------------------------------------------------- ;;;; ---------------------------[ `window-setting' ]--------------------------- ;;(setq compilation-window-height 4) ; compile で表示は 4行(setq compilation-scroll-output t) ; コンパイル時に出力を追って表示する(setq Completions-window-height 7) ; Completions で表示は 7行(有効?);; -------------------------------------------------------------------------- ;;;; -------------------------[ `Minibuffer-Setting' ]------------------------- ;;;; 日付, 時刻表示(setq display-time-24hr-format t) ; 24時間表示(setq display-time-format "%m/%d(%a) %R") ; フォーマット(setq display-time-day-and-date t)(display-time);; 行, 桁番号(line-number-mode t) ; 行番号(column-number-mode t) ; 桁番号(column-number-mode 1) ; 列数表示;; 履歴を `C-p' と `C-n' で辿る(define-key minibuffer-local-must-match-map "\C-p" 'previous-history-element)(define-key minibuffer-local-must-match-map "\C-n" 'next-history-element)(define-key minibuffer-local-completion-map "\C-p" 'previous-history-element)(define-key minibuffer-local-completion-map "\C-n" 'next-history-element)(define-key minibuffer-local-map "\C-p" 'previous-history-element)(define-key minibuffer-local-map "\C-n" 'next-history-element);; -------------------------------------------------------------------------- ;;;; ------------------------------[ `setting' ]------------------------------- ;;(setq frame-title-format '("" "%b @ Emacs " emacs-version)) ; タイトルバー;(setq frame-title-format (format "emacs: %%b" (system-name))) ; タイトルバー(set-scroll-bar-mode 'nil) ; スクロールバーの位置(tool-bar-mode -1) ; ツールバーの位置(menu-bar-mode 't) ; メニューバーの表示(setq inhibit-startup-screen -1) ; スタートアップスクリーンを非表示;(setq initial-scratch-message t) ; scratchの初期メッセージの表示(setq x-select-enable-clipboard t) ; クリップボード連携(auto-image-file-mode t) ; 画像ファイルを表示する(setq text-mode-hook '(lambda () (auto-fill-mode 0))) ; fill 無効:0, 有効:1(setq-default fill-column 80) ; fill-column;(setq initial-buffer-choice nil);(setq major-mode 'text-mode);(setq initial-major-mode 'text-mode);; 範囲選択(cua-mode t) ; 矩形選択(setq cua-enable-cua-keys nil) ; 矩形選択時のコマンド?;; タブ文字はスペース2文字(setq-default indent-tabs-mode nil) ; タブをスペースとして扱う(setq-default tab-width 2);(setq tab-stop-list '(4 8 12 16 20 24 28 32 36 40 44 48 52 56 60; 64 68 72 76 80 84 88 92 96 100 104 108 112 116 120));; 括弧関係(setq blink-matching-paren t) ; かっこ合せ(setq blink-matching-delay 0.2) ; かっこを合せる時間(setq blink-matching-paren-distance 30000) ; かっこ合せの最大文字間(show-paren-mode 1) ; 対応する括弧に色付け;; バックアッップ(setq backup-inhibited t) ; バックアップファイルを作らない(setq make-backup-files nil) ; バックアップファイルを生成しないようにする(setq auto-save-default nil) ; オートセーブファイルを生成しない(はず……);; オートセーブ(setq delete-auto-save-files t) ; 終了時にオートセーブファイルを消す(setq auto-save-list-file-name nil auto-save-list-file-prefix nil) ; don't make ~/.save-* filbbes(fset 'yes-or-no-p 'y-or-n-p) ; `y' for `yes', `n' for `no';; -------------------------------------------------------------------------- ;;;; -----------------------------[ `Key-Config' ]----------------------------- ;;(global-set-key "\C-m" 'newline-and-indent) ; 改行+オートインデント(global-set-key "\C-h" 'backward-delete-char) ; バックスペース(global-set-key "\M-?" 'help-for-help) ; help;(global-set-key "\C-\M-v" 'scroll-other-window) ; 1画面進む;(global-set-key [C-M-S-v] 'scroll-other-window-down) ; 1画面戻る;(global-set-key "\M-i" 'skk-annotation-lookup-region-or-at-point) ; 注釈;(define-key esc-map "c" 'compile) ; compile(define-key esc-map "p" 'copyright) ; copyright(define-key esc-map "g" 'goto-line) ; goto-line;(define-key esc-map "p" 'twit) ; twittering-mode(define-key esc-map "s" 'shell) ; shell(define-key esc-map "n" 'gdb) ; gdb;(define-key esc-map "[" 'w3m) ; w3m;(define-key esc-map "]" 'doc-view) ; doc-view;; shell options(add-hook 'comint-output-filter-functions ; パスワードの入力を隠す 'comint-watch-for-password-prompt) ;(autoload 'ansi-color-for-comint-mode-on "ansi-color" ; エスケープシーケンスを処理する "Set `ansi-color-for-comint-mode' to t." t)(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on);; -------------------------------------------------------------------------- ;;;; ---------------------------[ `署名と更新日時' ]--------------------------- ;;;; Time stamp(ファイル更新日)(require 'time-stamp)(add-hook 'before-save-hook 'time-stamp)(setq time-stamp-active t)(setq time-stamp-start "last updated : ")(setq time-stamp-format "%04y/%02m/%02d-%02H:%02M:%02S")(setq time-stamp-end " \\|$");; 署名の表示(add-hook 'write-file-funktions 'copyright-update) ; $ORGANIZATION に登録;; -------------------------------------------------------------------------- ;;;; ------------------------[ `文末分かりやすくする' ]------------------------ ;;;; フリジング(setq-default indicate-empty-lines t) ; フリジング上にマークを表示(setq-default indicate-buffer-boundaries 'left) ; 右に'↑','↓','「','」'(setq-default indicate-buffer-boundaries 'right) ; 左に`-';; [EOF] の表示(defun set-buffer-end-mark() (let ((overlay (make-overlay (point-max) (point-max)))) (overlay-put overlay 'before-string #("[EOF]" 0 5 (face highlight))) (overlay-put overlay 'insert-behind-hooks '((lambda (overlay after beg end &optional len) (when after (move-overlay overlay (point-max) (point-max))))))))(add-hook 'find-file-hooks 'set-buffer-end-mark);; -------------------------------------------------------------------------- ;;;; ---------------------------[ `スクロール関係' ]--------------------------- ;;;; スクロールマウスの設定(global-set-key [mouse-4] '(lambda () (interactive) (scroll-down 1)))(global-set-key [mouse-5] '(lambda () (interactive) (scroll-up 1)))(global-set-key [S-mouse-4] '(lambda () (interactive) (scroll-down 1))) ;shift(global-set-key [S-mouse-5] '(lambda () (interactive) (scroll-up 1))) ;shift(global-set-key [C-mouse-5] '(lambda () (interactive) (scroll-up (/ (window-height) 2)))) ;ctrl(global-set-key [C-mouse-4] '(lambda () (interactive) (scroll-down (/ (window-height) 2)))) ;ctrl;; スクロールを一行ずつにする(setq scroll-step 1);; 画面内の一番下のときスクロールは1行のみで(setq scroll-conservatively 100 scroll-margin 0 scroll-step 1)(setq next-screen-context-lines 1);; -------------------------------------------------------------------------- ;;;; ---------------------------[ `Comment-Style' ]---------------------------- ;;(defvar comment-style '((plain . (nil nil nil nil)) (indent . (nil nil nil t)) (indent-or-triple . (nil nil nil multi-char)) (aligned . (nil t nil t)) (multi-line . (t nil nil t)) (extra-line . (t nil t t)) (box . (nil t t t)) (box-multi . (t t t t)) ))(setq comment-style 'box-multi);; -------------------------------------------------------------------------- ;;;; ------------------------------[ `CC-Mode' ]------------------------------- ;;(require 'cc-mode);; Default(add-hook 'c-mode-common-hook '(lambda () ));; C(add-hook 'c-mode-hook '(lambda () (setq c-default-style "linux" ) ; linux, k&r, bsd, gnu (setq c-basic-offset 4 indent-tabs-mode t) ; インデントは2桁のスペース (c-toggle-hungry-state 1) ; hungry-deletion (c-toggle-auto-hungry-state 0) ; ';' を入力したら、自動改行+インデント (define-key c-mode-base-map "\C-m" 'newline-and-indent) ; 改行+インデント (hs-minor-mode 1); (turn-font-lock-mode t) ; キーワードなどのハイライト; (flyspell-prog-mode) ; flyspell-prog-mode をオンにする ));; Java(add-hook 'java-mode-hook '(lambda () (setq c-default-style "linux") (setq c-basic-offset 2 indent-tabs-mode nil) (setq c-toggle-hungry-state 1) (c-toggle-auto-hungry-state 0) (define-key c-mode-base-map "\C-m" 'newline-and-indent) (hs-minor-mode 1); (turn-font-lock-mode t); (flyspell-prog-mode) )); comment-style @ Java-mode(add-hook 'java-mode-hook '(lambda () (setq comment-start "/** " comment-continue " * " comment-end " */") (setq comment-style 'extra-line) (define-key java-mode-map "/" 'self-insert-command) ));; -------------------------------------------------------------------------- ;;