結城浩のはてなブログ

ふと思いついたことをパタパタと書いてます。

Emacsの環境整備(~/.emacs.d/init.el)

ヒラギノ丸ゴシックをしばらく使っていたけれど、少し息苦しくなってきたので明朝にしてみた。

;; Font, width, height, color.
(if (eq (window-system) 'ns)
    (progn
      (create-fontset-from-ascii-font "Monaco-16:weight=normal:slant=normal" nil "monacohiragino")
      (set-fontset-font "fontset-monacohiragino"
            'unicode
            (font-spec :family "Hiragino Mincho ProN" :size 18)
            nil
            'append)
      (add-to-list 'default-frame-alist '(font . "fontset-monacohiragino"))
      (add-to-list 'default-frame-alist '(width . 128))
      (add-to-list 'default-frame-alist '(height . 60))
      (add-to-list 'default-frame-alist '(top . 0))
      (add-to-list 'default-frame-alist '(left . 0))
      (add-to-list 'default-frame-alist '(foreground-color . "black"))
      (add-to-list 'default-frame-alist '(background-color . "white"))
      (add-to-list 'default-frame-alist '(cursor-color . "selectedControlColor"))))

M-wでregionをコピーするというのに慣れないので、C-qに割り当ててみる。

;; C-q as a 'copy'
(global-set-key (kbd "C-q") 'kill-ring-save)

C-zでshellに落ちるのではなく、iTerm2へ制御を移してみるようにした。

;; iTerm.app
(defun my-open-iterm()
  (interactive)
  (shell-command "open -a iTerm.app"))
(global-set-key "\C-z" 'my-open-iterm)

自分の指にキーアサインを覚えさせるため、使わせたくないキーシーケンスをエラーにしちゃう。

;; Inhibit key.
(defun my-inhibit-key()
  (interactive)
  (error "my-inhibit-key: This key sequence is ignored."))
(define-key global-map (kbd "C-x C-s") 'my-inhibit-key)
(define-key global-map (kbd "C-x C-c") 'my-inhibit-key)
(define-key global-map (kbd "C-o C-o") 'my-inhibit-key)

ベルを鳴らすときに画面をフラッシュさせる。

;; Visible bell.
(setq visible-bell t)

C-x C-sの代わりにC-uでsave-bufferするようにしたい。

(define-key global-map (kbd "C-u") 'save-buffer)

C-5で括弧の対応を見るモードをトグルさせたい。

(define-key global-map (kbd "C-5") 'show-paren-mode)