Skip to content

Instantly share code, notes, and snippets.

@hitode909
Created March 21, 2009 10:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hitode909/82805 to your computer and use it in GitHub Desktop.
Save hitode909/82805 to your computer and use it in GitHub Desktop.
;; ~/.emacs.d/site-lisp/以下をload-pathに追加
(if (fboundp 'normal-top-level-add-subdirs-to-load-path)
(let* ((my-lisp-dir "~/.emacs.d/site-lisp/")
(default-directory my-lisp-dir))
(setq load-path (cons my-lisp-dir load-path))
(normal-top-level-add-subdirs-to-load-path)))
;; localな設定ファイルがあるときロードする
(if (file-exists-p "~/.emacs.el.local")
(load-file "~/.emacs.el.local"))
;; default encodingをutf-8に変更
(set-default-coding-systems 'utf-8)
;; status-barにカーソルのcolumn表示(4,29とか)
(column-number-mode t)
;; ファイル名補完で大文字小文字を区別しない
(setq completion-ignore-case t)
;; バックアップファイルを作らない
(setq make-backup-files nil)
;; ソースコードに色を付ける
(global-font-lock-mode t)
;; 起動時のメッセージを表示しない
(setq inhibit-startup-message t)
;; C-hでBSする
(global-set-key "\C-h" 'delete-backward-char)
;; ファイルを開くときにa.jでa.jsにマッチ
; (partial-completion-mode t)
;; カーソルの点滅を抑制
(blink-cursor-mode 0)
;; リージョンをC-hで削除
(delete-selection-mode 1)
;; kill-lineで行末の改行文字も削除
(setq kill-whole-line t)
;; M-xでコマンドを入力するときに候補を表示する
(icomplete-mode nil)
;; M-x補完,高機能なやつ
(require 'mcomplete)
(turn-on-mcomplete-mode)
;; regionに色を付ける
(transient-mark-mode t)
;; C-x C-bでelectric-buffer-list
(define-key global-map "\C-x\C-b" 'electric-buffer-list)
(eval-after-load "ebuff-menu"
'(progn
(define-key
electric-buffer-menu-mode-map
"x" 'Buffer-menu-execute)))
;;カーソルを前回編集していた位置に戻す
(load "saveplace")
(setq-default save-place t)
;; find-fileするときにファイル名をハイライトして補完
(setq hc-ctrl-x-c-is-completion t)
(require 'highlight-completion)
(highlight-completion-mode 1)
(global-set-key "\C-\\" 'toggle-input-method)
;; 補完してbuffer切替
(iswitchb-mode 1)
;; 対応する括弧を光らせる
(show-paren-mode 1)
;; 画面チカチカさせない
(setq visible-bell nil)
(setq ring-bell-function 'ignore)
;;; status-barに時間表示
(setq display-time-24hr-format t)
(setq display-time-day-and-date t)
(setq display-time-string-forms
'(month "/" day " " 24-hours ":" minutes " "))
(display-time)
;;; カーソルがある行にアンダーラインを表示
;;(global-hl-line-mode)
;;(setq hl-line-face 'underline)
;;(hl-line-mode 1)
;;; yes-noをy-nに置き換え
(fset 'yes-or-no-p 'y-or-n-p)
;; 画面外の文字は折り返しして表示
(setq truncate-lines t)
(setq truncate-partial-width-windows nil)
;; Shebangがあるとき自動的にchmod +xする
(add-hook 'after-save-hook
'executable-make-buffer-file-executable-if-script-p)
;; スクロールバーを隠す
(scroll-bar-mode -1)
;; ツールバーを隠す
(tool-bar-mode 0)
;; 左右の余白消す
(fringe-mode 0)
;; C-mで改行してインデント
(global-set-key "\C-m" 'newline-and-indent)
;; yaml-mode
;; http://yaml-mode.clouder.jp/
(autoload 'yaml-mode "yaml-mode"
"Mode for editing ruby source files" t)
(setq auto-mode-alist
(append '(("\\.yaml$" . yaml-mode)) auto-mode-alist))
;; ruby-mode
;; http://www.ruby-lang.org/ja/
(autoload 'ruby-mode "ruby-mode"
"Mode for editing ruby source files" t)
(setq auto-mode-alist
(append '(("\\.rb$" . ruby-mode)) auto-mode-alist))
(setq interpreter-mode-alist (append '(("ruby" . ruby-mode))
interpreter-mode-alist))
(autoload 'run-ruby "inf-ruby"
"Run an inferior Ruby process")
(autoload 'inf-ruby-keys "inf-ruby"
"Set local key defs for inf-ruby in ruby-mode")
(add-hook 'ruby-mode-hook
'(lambda ()
(inf-ruby-keys)
))
(add-hook 'ruby-mode-hook
(lambda()
(require 'ruby-electric)
(ruby-electric-mode t)
))
(autoload 'rubydb "rubydb3x"
"run rubydb on program file in buffer *gud-file*.
the directory containing file becomes the initial working directory
and source-file directory for your debugger." t)
(defun ruby-insert-magic-comment-if-needed ()
"バッファのcoding-systemをもとにmagic commentをつける。"
(when (and (eq major-mode 'ruby-mode)
(find-multibyte-characters (point-min) (point-max) 1))
(save-excursion
(goto-char 1)
(when (looking-at "^#!")
(forward-line 1))
(if (re-search-forward "^#.+coding" (point-at-eol) t)
(delete-region (point-at-bol) (point-at-eol))
(open-line 1))
(let* ((coding-system (symbol-name buffer-file-coding-system))
(encoding (cond ((string-match "japanese-iso-8bit\\|euc-j" coding-system)
"euc-jp")
((string-match "shift.jis\\|sjis\\|cp932" coding-system)
"shift_jis")
((string-match "utf-8" coding-system)
"utf-8"))))
(insert (format "# -*- coding: %s -*-" encoding))))))
(add-hook 'before-save-hook 'ruby-insert-magic-comment-if-needed)
;; インデントをtermtter標準に
(setq ruby-deep-indent-paren-style nil)
;; auto-complete-mode
;; http://dev.ariel-networks.com/Members/matsuyama/auto-complete
(require 'auto-complete)
(global-auto-complete-mode t)
(define-key ac-complete-mode-map "\C-n" 'ac-next)
(define-key ac-complete-mode-map "\C-p" 'ac-previous)
(require 'ac-anything)
(define-key ac-complete-mode-map (kbd "C-;") 'ac-complete-with-anything)
(require 'anything-grep)
(require 'anything-project)
;; drill-instructor
;; (require 'drill-instructor)
;; (drill-instructor t)
(autoload 'save-current-configuration "revive" "Save status" t)
(autoload 'resume "revive" "Resume Emacs" t)
(autoload 'wipe "revive" "Wipe emacs" t)
(define-key ctl-x-map "R" 'resume) ;; C-x R で復元
(define-key ctl-x-map "K" 'wipe) ;; C-x K で kill-emacs
;; (add-hook 'kill-emacs-hook 'save-current-configuration) ;; 終了時に保存
;; set-perl5lib
;; 開いたスクリプトのパスに応じて、@INCにlibを追加してくれる
;; 以下からダウンロードする必要あり
;; http://svn.coderepos.org/share/lang/elisp/set-perl5lib/set-perl5lib.el
(require 'set-perl5lib)
(when nil
;; browse-kill-ring
(require 'browse-kill-ring)
(global-set-key (kbd "C-c k") 'browse-kill-ring)
)
;; Carbon Emacs用の設定
(when t;;(featurep 'carbon-emacs-package)
(setq grep-find-use-xargs 'bsd)
(require 'carbon-font)
(defun font-size(size)
(fixed-width-set-fontset "osaka" size))
(defun font-very-small()
(interactive)
(font-size 7))
(defun font-small()
(interactive)
(font-size 10))
(defun font-normal()
(interactive)
(font-size 12))
(defun font-big()
(interactive)
(font-size 18))
(defun font-very-big()
(interactive)
(font-size 24))
;; フルスクリーン化
;; (mac-toggle-max-window)
;; フルスクリーン時にメニューバーを表示する
;;(setq mac-autohide-menubar-on-maximize nil)
;; OSXの日本語入力メソッドを有効にする
;; (setq default-input-method "MacOSX")
;; optionキーをMetaキーとして利用
(setq mac-option-modifier 'meta)
(setq mac-command-key-is-meta t)
(setq mac-command-modifier-meta t)
(setq grep-find-use-xargs 'bsd)
;; fullscreenのときメニューバー隠す
(setq mac-autohide-menubar-on-maximize t)
;; fullscreenの設定ここで
(add-hook 'window-setup-hook
(lambda ()
(progn
;; (set-frame-parameter nil 'alpha 70)
;; (set-frame-parameter nil 'fullscreen nil)
;; (set-frame-parameter nil 'fullscreen 'fullboth)
;; (set-frame-parameter nil 'fullscreen 'fullwidth)
;; (set-frame-parameter nil 'fullscreen 'fullheight)
)
))
;; moccur
;; elscreen
(load "elscreen" "ElScreen" t)
(require 'elscreen-server)
;; toggle
(defun my-toggle-frame-size ()
(interactive)
(if (frame-parameter nil 'fullscreen)
(set-frame-parameter nil 'fullscreen nil)
(set-frame-parameter nil 'fullscreen 'fullboth)
(message "Full-screen changed")
))
(global-set-key "\C-cm" 'my-toggle-frame-size)
;; migemo
(load "migemo.el")
(setq migemo-command "cmigemo")
(setq migemo-options '("-q" "--emacs" "-i" "¥a"))
(setq migemo-dictionary "/usr/local/share/migemo/euc-jp/migemo-dict")
(setq migemo-user-dictionary nil)
(setq migemo-regex-dictionary nil)
;; 複数の検索語や、特定のフェイスのみマッチ等の機能を有効にする
;; 詳細は http://www.bookshelf.jp/soft/meadow_50.html#SEC751
(require 'color-moccur)
(setq dmoccur-exclusion-mask
(append '("\\~$" "\\.svn\\/\*" "\\.git\\/\*" "\\.pdf$") dmoccur-exclusion-mask))
(setq moccur-split-word t)
;; migemoがrequireできる環境ならmigemoを使う
(when (require 'migemo nil t) ;第三引数がnon-nilだとloadできなかった場合にエラーではなくnilを返す
(setq moccur-use-migemo t))
;;; skk用の設定
(require 'skk-autoloads nil t)
(setq default-input-method "japanese-skk")
;;(require 'skk-autoloads)
(global-set-key "\C-j" 'skk-mode)
(global-set-key "\C-x\C-j" 'skk-mode)
;; 辞書ファイルから読む
;; (setq skk-large-jisyo "~/.emacs.d/etc/skk/SKK-JISYO.L")
;; 辞書サーバー
(setq skk-server-host "localhost")
(setq skk-server-portnum 1178)
(setq skk-jisyo-code 'utf-8-unix)
;; isearch時にSKKをオフ
(setq skk-isearch-start-mode 'latin)
;; 勝手に括弧閉じる
(setq-default skk-auto-insert-paren t)
;; 送り仮名の何か
(setq-default skk-process-okuri-early t)
;; 自動的に確定する
(setq-default skk-kakutei-when-unique-candidate t)
;; デフォルトで,と.を出す
(setq-default skk-kutouten-type 'en)
;; lookup
(setq-default skk-use-look t)
(setq-default skk-look-use-ispell t)
;; 変換候補インライン
(setq skk-show-inline t)
;; 日本語補完
;; (setq skk-dcomp-activate t)
;; 変換候補インライン
(setq skk-show-inline t)
;;; コントロールキーをシステムに取られないようにする
(setq mac-pass-control-to-system nil)
(setq mac-pass-command-to-system nil)
(setq mac-pass-option-to-system nil)
;; emacs-serverを起動
(server-start)
(setq server-use-tcp t)
;; C-x kで終了
(add-hook 'server-switch-hook
(lambda ()
(when (current-local-map)
(use-local-map (copy-keymap (current-local-map))))
(local-set-key (kbd "C-x k") 'server-edit)))
;; Carbon Emacs用の設定終了
)
(require 'cperl-mode)
;; cperl-modeを適用する
(setq auto-mode-alist
(append '(("\\.\\([pP][Llm]\\|t\\)$" . cperl-mode)) auto-mode-alist ))
;; インデントにタブを使わない
(add-hook 'cperl-mode-hook
'(lambda ()
(setq indent-tabs-mode nil)
(setq cperl-close-paren-offset -4)
(setq cperl-continued-statement-offset 4)
(setq cperl-indent-level 4)
(setq cperl-indent-parens-as-block t)
(setq cperl-tab-always-indent t)
)
)
(setq-default indent-tabs-mode nil)
;; develock
(require 'develock nil t)
(plist-put develock-max-column-plist 'cperl-mode nil)
(setq develock-max-column-plist nil)
;; emacs終了時に確認メッセージを出す。
;; 誤って終了してしまわないようにするため
;; ref: http://blog.livedoor.jp/techblog/archives/64599359.html
(defadvice save-buffers-kill-emacs
(before safe-save-buffers-kill-emacs activate)
"safe-save-buffers-kill-emacs"
(unless (y-or-n-p "Really exit emacs? ")
(keyboard-quit)))
(require 'anything-config)
;;; anything-c-moccurの設定
(require 'anything-c-moccur)
(load "~/.emacs.d/site-lisp/find-file-anything.el")
;; カスタマイズ可能変数の設定(M-x customize-group anything-c-moccur でも設定可能)
(setq anything-c-moccur-anything-idle-delay 0.1 ;`anything-idle-delay'
anything-c-moccur-higligt-info-line-flag t ; `anything-c-moccur-dmoccur'などのコマンドでバッファの情報をハイライトする
anything-c-moccur-enable-auto-look-flag t ; 現在選択中の候補の位置を他のwindowに表示する
anything-c-moccur-enable-initial-pattern t
anything-c-moccur-enable-auto-look-flag t ; 選択中の候補を他のバッファにリアルタイムに表示する
) ; `anything-c-moccur-occur-by-moccur'の起動時にポイントの位置の単語を初期パターンにする
(setq anything-idle-delay 0)
(setq anything-quick-update t)
;;; キーバインドの割当(好みに合わせて設定してください)
(global-set-key (kbd "C-o") 'anything-c-moccur-occur-by-moccur) ;バッファ内検索
(global-set-key (kbd "M-o") 'anything-c-moccur-buffer-list) ;moccur
(global-set-key (kbd "C-M-o") 'anything-c-moccur-dmoccur) ;ディレクトリ
(add-hook 'dired-mode-hook ;dired
'(lambda ()
(local-set-key (kbd "O") 'anything-c-moccur-dired-do-moccur-by-moccur)))
;; rcodetools
(setq ri-ruby-script "/opt/local/bin/ri-emacs")
(require 'rcodetools)
(setq rct-find-tag-if-available nil)
(defun make-ruby-scratch-buffer ()
(with-current-buffer (get-buffer-create "*ruby scratch*")
(ruby-mode)
(current-buffer)))
(defun ruby-scratch ()
(interactive)
(pop-to-buffer (make-ruby-scratch-buffer)))
(defun ruby-mode-hook-rcodetools ()
(define-key ruby-mode-map "\M-\C-i" 'rct-complete-symbol)
(define-key ruby-mode-map "\C-c\C-t" 'ruby-toggle-buffer)
(define-key ruby-mode-map "\C-c\C-d" 'xmp)
;(define-key ruby-mode-map "\C-c\C-f" 'rct-ri)
)
(add-hook 'ruby-mode-hook 'ruby-mode-hook-rcodetools)
(require 'anything-rcodetools)
;; Command to get all RI entries.
; (setq rct-get-all-methods-command "PAGER=cat fri -l")
(setq rct-get-all-methods-command "refe -l")
;; See docs
;(define-key anything-map "\C-e" 'anything-execute-persistent-action)
(global-set-key (kbd "C-;") 'anything)
(setq anything-sources (list anything-c-source-buffers
;anything-c-source-project
;anything-c-source-imenu
anything-c-source-bookmarks
;; anything-c-source-file-name-history
anything-c-source-files-in-current-dir
anything-c-source-projects-history
;; anything-c-source-mac-spotlight
nym:anything-find-file ;; cool!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
;;anything-c-source-complete-ruby-all
;;anything-c-source-occur-by-moccur
anything-c-source-recentf
;; anything-c-source-emacs-functions
;; anything-c-source-google-suggest
anything-c-source-emacs-commands
anything-c-source-locate
))
(define-key anything-map "\C-p" 'anything-previous-line)
(define-key anything-map "\C-n" 'anything-next-line)
(define-key anything-map "\C-v" 'anything-next-page)
(define-key anything-map "\M-v" 'anything-previous-page)
(global-set-key (kbd "M-y") 'anything-show-kill-ring)
(setq anything-candidate-number-limit 100) ; 表示する最大候補数。デフォルトで 50
(global-set-key (kbd "M-i") 'anything-imenu)
(require 'anything-dabbrev-expand)
(global-set-key "\M-/" 'anything-dabbrev-expand)
(define-key anything-dabbrev-map "\M-/" 'anything-dabbrev-find-all-buffers)
;; dabbrev時に、大文字・小文字を区別しない。
(setq dabbrev-case-fold-search nil)
(require 'flymake)
;;;; flymake for ruby
(require 'flymake)
;; I don't like the default colors :)
(set-face-background 'flymake-errline "red4")
(set-face-background 'flymake-warnline "dark slate blue")
;; Invoke ruby with '-c' to get syntax checking
(defun flymake-ruby-init ()
(let* ((temp-file (flymake-init-create-temp-buffer-copy
'flymake-create-temp-inplace))
(local-file (file-relative-name
temp-file
(file-name-directory buffer-file-name))))
(list "ruby" (list "-c" local-file))))
(push '(".+\\.rb$" flymake-ruby-init) flymake-allowed-file-name-masks)
(push '("Rakefile$" flymake-ruby-init) flymake-allowed-file-name-masks)
(push '("^\\(.*\\):\\([0-9]+\\): \\(.*\\)$" 1 2 nil 3) flymake-err-line-patterns)
(add-hook
'ruby-mode-hook
'(lambda ()
;; Don't want flymake mode for ruby regions in rhtml files
(if (not (null buffer-file-name)) (flymake-mode))))
(when nil
(defun anything-execute-persistent-action ()
"If a candidate was selected then perform the associated action without quitting anything."
(interactive)
(save-selected-window
(select-window (get-buffer-window anything-buffer))
(select-window (setq minibuffer-scroll-window
(if (one-window-p t) (split-window) (next-window (selected-window) 1))))
(let* ((anything-window (get-buffer-window anything-buffer))
(selection (if anything-saved-sources
;; the action list is shown
anything-saved-selection
(anything-get-selection)))
(default-action (anything-get-action))
(action (assoc-default 'persistent-action (anything-get-current-source))))
(setq action (or action default-action))
(if (and (listp action)
(not (functionp action))) ; lambda
;; select the default action
(setq action (cdar action)))
(set-window-dedicated-p anything-window t)
(unwind-protect
(and action selection (funcall action selection))
(set-window-dedicated-p anything-window nil)))))
(define-key anything-map "\C-z" 'anything-execute-persistent-action)
)
(add-hook 'cperl-mode-hook (lambda ()
(require 'perl-completion)
(perl-completion-mode t)))
(add-hook 'txt-mode-hook
'(lambda ()
; 変更した箇所を目立たせる
(global-highlight-changes 'active)
; 保存時にローテート
(add-hook 'write-file-hooks 'highlight-changes-rotate-faces)
)
)
;; ignore C-z
;; (global-unset-key "\C-z")
;;; メモを取る
(defun my-autonamed-txt()
(interactive)
(find-file
(concat "~/co/dev/memo/" (format-time-string "%Y%m%d") (system-name) ".txt"))
)
(global-set-key (kbd "\C-cf") 'my-autonamed-txt)
;; recentf
(setq recentf-auto-cleanup 'never)
(recentf-mode 1)
(setq recentf-max-saved-items 100000)
;; which-func
(require 'which-func)
(which-func-mode t)
(setq which-func-modes (append which-func-modes '(ruby-mode javascript-mode)))
;; view-mode hjkl
(add-hook 'view-mode-hook
'(lambda()
(progn
(define-key view-mode-map "h" 'backward-char)
(define-key view-mode-map "j" 'next-line)
(define-key view-mode-map "k" 'previous-line)
(define-key view-mode-map "l" 'forward-char)
)))
;; jkでview-mode
(require 'key-chord)
(setq key-chord-two-keys-delay 0.04)
(key-chord-mode 1)
(key-chord-define-global "jk" 'view-mode)
;;battery
(display-battery-mode t)
;;setting reloader
(defun reload-el()
(interactive)
(load-file "~/.emacs.el"))
(setq auto-mode-alist
(append '(("\\.xhtml$" . html-mode)) auto-mode-alist))
(setq auto-mode-alist
(append '(("\\.tt$" . html-mode)) auto-mode-alist))
;; yank した文字列をハイライト表示
(when window-system
(defadvice yank (after ys:highlight-string activate)
(let ((ol (make-overlay (mark t) (point))))
(overlay-put ol 'face 'highlight)
(sit-for 0.5)
(delete-overlay ol)))
(defadvice yank-pop (after ys:highlight-string activate)
(when (eq last-command 'yank)
(let ((ol (make-overlay (mark t) (point))))
(overlay-put ol 'face 'highlight)
(sit-for 0.5)
(delete-overlay ol)))))
(setq auto-mode-alist
(append '(("\\.tex$" . yatex-mode)) auto-mode-alist))
(autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)
(setq dvi2-command "open -a Preview"
tex-command "~/Library/TeXShop/bin/platex2pdf-utf8"
YaTeX-kanji-code 4)
(add-hook 'yatex-mode-hook'(lambda ()(setq auto-fill-function nil)))
(auto-compression-mode t)
;;outputz
(require 'outputz)
(setq outputz-key "XXXXXXXXXXXXXXXX") ;; 復活の呪文
(setq outputz-uri "http://emacs.com/%s") ;; 適当なURL。%sにmajor-modeの名前が入るので、major-modeごとのURLで投稿できます。
(global-outputz-mode t)
(defun outputz-buffers ()
(dolist (buf (buffer-list))
(with-current-buffer buf
(outputz))))
(run-with-idle-timer 3 t 'outputz-buffers)
(remove-hook 'after-save-hook 'outputz)
(require 'egg)
;;カーソル位置にverb出す
(defun my-insert-verb()
(interactive)
(insert "\\verb||")
(backward-char)
)
(global-set-key "\C-c\C-v" 'my-insert-verb)
;;カーソル位置にref出す
(defun my-insert-ref()
(interactive)
(insert "\\ref{}")
(backward-char)
)
(global-set-key "\C-c\C-r" 'my-insert-ref)
;;カーソル位置にoverline出す
(defun my-insert-overline()
(interactive)
(insert "\\overline{}")
(backward-char)
)
(global-set-key "\C-c\C-o" 'my-insert-overline)
(require 'auto-save-buffers-enhanced)
(auto-save-buffers-enhanced-include-only-checkout-path nil)
(auto-save-buffers-enhanced t)
(require 'install-elisp)
(setq install-elisp-repository-directory "~/.emacs.d/site-lisp/")
(global-set-key "\C-x\C-r" 'revert-buffer)
;;js2-mode
(setq-default c-basic-offset 4)
(autoload 'js2-mode "js2" nil t)
(add-to-list 'auto-mode-alist '("\\.js$" . js2-mode))
(add-hook 'js2-mode-hook
'(lambda ()
(setq js2-cleanup-whitespace nil
js2-mirror-mode nil
js2-bounce-indent-flag t)
(defun indent-and-back-to-indentation ()
(interactive)
(indent-for-tab-command)
(let ((point-of-indentation
(save-excursion
(back-to-indentation)
(point))))
(skip-chars-forward "\s " point-of-indentation)))
(define-key js2-mode-map "\C-i" 'indent-and-back-to-indentation)
(define-key js2-mode-map "\C-m" nil)
))
;; 深夜に古いbuffer消す
(require 'midnight)
;; tramp
(require 'tramp)
(setq tramp-default-method "ssh")
;; scala-mode
(add-hook 'scala-mode-hook
'(lambda ()
(yas/minor-mode-on)
))
;====================================
; セッション
;====================================
; なんか動いてない気がする
;Emacsを終了してもファイルを編集してた位置や
;minibuffer への入力内容を覚えててくれます。
(when (require 'session nil t)
(setq session-initialize '(de-saveplace session keys menus places)
session-globals-include '((kill-ring 50)
(session-file-alist 500 t)
(file-name-history 10000)))
;; これがないと file-name-history に500個保存する前に max-string に達する
(setq session-globals-max-string 100000000)
)
(require 'actionscript-mode)
(setq auto-mode-alist
(append '(("\\.as$" . actionscript-mode))
auto-mode-alist))
(autoload 'wl "wl" "Wanderlust" t)
(autoload 'wl-other-frame "wl" "Wanderlust on new frame." t)
(autoload 'wl-draft "wl-draft" "Write draft with Wanderlust." t)
;;moz-plus
(autoload 'run-mozilla "moz" "run inferior moz" t)
(add-hook 'inferior-moz-mode-hook (lambda ()
(require 'moz-plus)
(moz-plus 1)
))
(defun anything-find-file ()
(interactive)
(anything-other-buffer 'nym:anything-find-file "*anything find-file*"))
(global-set-key (kbd "M-p") 'anything-project)
;; 勝手にrevertする
(global-auto-revert-mode t)
;; ↓こいつをnon-nilにしておくと、vcsによる変更もチェックしてくれる
(setq auto-revert-check-vc-info t)
;; こちらは変更する必要ないけど、早いほうがいいので1とかしてみた
(setq auto-revert-interval 1)
(add-hook 'find-file-hook
'(lambda ()
(when
(and buffer-file-name
(vc-backend buffer-file-name))
(auto-revert-mode))))
;; smartchr
(require 'smartchr)
(global-set-key (kbd "=") (smartchr '(" = " "=" " == " " \!= " " <= " " < " " >= " " > " "=")))
(global-set-key (kbd "{") (smartchr '("{ `!!' }" "{")))
(global-set-key (kbd ">") (smartchr '(">" " => " " => '`!!''" " => \"`!!'\"")))
(global-set-key (kbd "F") (smartchr '("F" "$" "$_" "$_->" "@$")))
(define-key cperl-mode-map (kbd "M") (smartchr '("M" "my $`!!' = " "my ($self, $`!!') = @_;" "my @`!!' = ")))
(define-key cperl-mode-map (kbd "D") (smartchr '("D" "use Data::Dumper; warn Dumper `!!';")))
(add-hook 'ruby-mode-hook
'(lambda ()
(define-key ruby-mode-map (kbd "P") (smartchr '("P" "require pp; pp ")))
))
;;; マイ.emacs探訪 - I am Cruby! http://d.hatena.ne.jp/authorNari/20091225/1261667956
(defadvice iswitchb-exhibit
(after
iswitchb-exhibit-with-display-buffer
activate)
"選択している buffer を window に表示してみる。"
(when (and
(eq iswitchb-method iswitchb-default-method)
iswitchb-matches)
(select-window
(get-buffer-window (cadr (buffer-list))))
(let ((iswitchb-method 'samewindow))
(iswitchb-visit-buffer
(get-buffer (car iswitchb-matches))))
(select-window (minibuffer-window))))
;;<1>をディレクトリ名にする
(require 'uniquify)
(setq uniquify-buffer-name-style 'post-forward-angle-brackets)
(setq uniquify-min-dir-content 1)
;;C-Fで右のバッファ
(setq windmove-wrap-around t)
(define-key global-map [(C shift n)] 'windmove-down)
(define-key global-map [(C shift p)] 'windmove-up)
(define-key global-map [(C shift b)] 'windmove-left)
(define-key global-map [(C shift f)] 'windmove-right)
;; dmacro
;; http://pitecan.com/DynamicMacro/
(defconst *dmacro-key* "\C-t" "dmacro-key")
(global-set-key *dmacro-key* 'dmacro-exec)
(autoload 'dmacro-exec "dmacro" nil t)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment