emacs設定その2

emacsの設定の続き

ショートカットによるフォントサイズの変更

http://d.hatena.ne.jp/buchio/20110525
に書かれていたemacs lispを活用させていただく
terminal見たいにctrlと+-でフォントサイズが変更可能
# それ以外のショートカットは個人的には使わないのでコメントアウト

;; change font-size by \C-+ and \C--
;; http://d.hatena.ne.jp/buchio/20110525
(defun increase-font-size ()
(interactive)
(set-face-attribute 'default
nil
:height
(+ 10 (face-attribute 'default :height))))

(defun decrease-font-size ()
(interactive)
(set-face-attribute 'default
nil
:height
((lambda (h) (if (<= h 10) h (- h 10)))
(face-attribute 'default :height))))


;(global-set-key [C-mouse-4] 'increase-font-size)
;(global-set-key [C-wheel-up] 'increase-font-size)
(global-set-key [?\C-+] 'increase-font-size)
;(global-set-key [?\C-=] 'increase-font-size)

;(global-set-key [C-mouse-5] 'decrease-font-size)
;(global-set-key [C-wheel-down] 'decrease-font-size)
(global-set-key [?\C--] 'decrease-font-size)

矩形選択をより簡単に

sense-regionを入れるとマークを2回することで矩形選択に

http://d.hatena.ne.jp/gan2/20080512/1210607775

;; use sense-region
(autoload 'sense-region-on "sense-region"
"System to toggle region and rectangle." t nil)
(sense-region-on)

# 矩形選択に切り替えしたときに選択領域の色付けがなぜか消えるので現在はコメントアウト中だけど

pythonの自動補完

auto-completeと組み合わせて自動補完

http://d.hatena.ne.jp/CortYuming/20111224/p1


svnのための設定

svnの操作をemacsから行うための設定

http://d.hatena.ne.jp/kitokitoki/20081112/1226425216
http://svn.apache.org/repos/asf/subversion/trunk/contrib/client-side/emacs/dsvn.el

;; setup dsvn
(autoload 'svn-status "dsvn" "Run `svn status'." t)
(autoload 'svn-update "dsvn" "Run `svn update'." t)

jaspace.elで全角空白の可視化

全角空白とかタブがきになるので可視化する

http://openlab.dino.co.jp/2008/08/29/230500336.html
を参考に設定、ただし"□"が綺麗に全角にならないため、
全角空白の背景色を変える方法に変更

;; visualize TAB and ZENKAKU-space
(when (require 'jaspace nil t)
(when (boundp 'jaspace-modes)
(setq jaspace-modes (append jaspace-modes
(list 'php-mode
'yaml-mode
'javascript-mode
'ruby-mode
'text-mode
'fundamental-mode))))
(when (boundp 'jaspace-alternate-jaspace-string)
(setq jaspace-alternate-jaspace-string " "))
(when (boundp 'jaspace-highlight-tabs)
(setq jaspace-highlight-tabs ?^))
(add-hook 'jaspace-mode-off-hook
(lambda()
(when (boundp 'show-trailing-whitespace)
(setq show-trailing-whitespace nil))))
(add-hook 'jaspace-mode-hook
(lambda()
(progn
(when (boundp 'show-trailing-whitespace)
(setq show-trailing-whitespace t))
(face-spec-set 'jaspace-highlight-jaspace-face
'((((class color) (background light))
(:background "dim gray"))
(t (:background "dim gray"))))
(face-spec-set 'jaspace-highlight-tab-face
'((((class color) (background light))
(:foreground "red"
:background "unspecified"
:strike-through nil
:underline t))
(t (:foreground "purple"
:background "unspecified"
:strike-through nil
:underline t))))
(face-spec-set 'trailing-whitespace
'((((class color) (background light))
(:foreground "red"
:background "unspecified"
:strike-through nil
:underline t))
(t (:foreground "purple"
:background "unspecified"
:strike-through nil
:underline t))))))))

gtagsの設定

gtags (global) をインストールしてgtags.el
gtags.elは公式サイトのglobalのソースの中にあるのでそれを取ってくる

http://cha.la.coocan.jp/doc/gnu_global.html

(autoload 'gtags-mode "gtags" "" t)
(setq gtags-mode-hook
'(lambda ()
(local-set-key "\M-t" 'gtags-find-tag)
(local-set-key "\M-r" 'gtags-find-rtag)
(local-set-key "\M-s" 'gtags-find-symbol)
(local-set-key "\C-t" 'gtags-pop-stack)
))

あと少しやったことのメモがあるけどここで一旦分割