使用中バージョン
packagesが使いたかった
- Emacs 24.4についても追記
.emacs は catatsuyさんのGitからいただいたものをベースにゴッと使っています。
catatsuy/dot.emacs.d · GitHub https://github.com/catatsuy/dot.emacs.d
- Emacs 24.2.1 (i386-mingw-nt6.1.7601)
-
Homebrew のEmacs24.3
brew install --cocoa -srgb --with-gnutls --japanese emacs
OSX Mavericks にemacs24 をインストールする - zonomasaの日記
http://zonomasa.hatenablog.com/entry/emacs_on_mavericks Emacs24.4
バージョン24.4にした。
※ Alfredに認識させる
linkapps でショートカットを更新した後、alfredのアプリ候補にヒットさせるためにサーチスコープにパスを追加する。
Alfred右肩のギアから設定ダイアログ表示 → BASIC - Default Results
Serch Scope: [+]
ファイル選択ダイアログで [Shift]+[Command]+[G]でパス入力
/usr/local/Cellar/
[Open]でCellar配下の xxxx.app が認識される
$ brew install --cocoa --d-bus --gnutls --librsvg --imagemagick --mailutils --glib --srgb --with-gnutls --japanese -v emacs
$ brew linkapps
$ # brew install --gnutls --librsvg --imagemagick --mailutils --glib -v emacs
$ # これじゃだめだった
- ng
私家版Homebrew:Ng-utf8 - 冒険するコンピューティング
http://linux.matchy.net/archives/344
ngは毎回ビルドしている
; ~/.ng
;
; for more detail, please read Ng.doc
;
; 'next-line' doesn't insert newline at the end of buffer.
(next-line-add-newlines nil)
; exchange C-h with DEL.
(bsmap-mode)
; don't make backup files.
(make-backup-files nil)
; blink matching parens
(global-set-key ")" 'blink-matching-paren-hack)
(global-set-key "}" 'blink-matching-paren-hack)
(global-set-key "]" 'blink-matching-paren-hack)
; regexp search by typing ESC C-s/C-r
(global-set-key "\^[\^s" 're-search-forward)
(global-set-key "\^[\^r" 're-search-backward)
dot.emacsについて
.emacs は catatsuyさんのGitからいただいたものをベースにゴッと使っています。
catatsuy/dot.emacs.d · GitHub https://github.com/catatsuy/dot.emacs.d
packages
M-x list-packages で好きなパッケージを入れる
- org-mode
- howm-mode
トリム、タブ<->スペース置換
;;; -*- Mode: Emacs-Lisp ; Coding: utf-8 -*-
;; 行末にある余分な whitespace を削除したい
;;
;; 以下を ~/.emacs に書いておき、M-x ys:trim-whitespaces すると良いです。
;; これにより、buffer 末尾の余分な whitespace や改行も削除されます。ま
;; た、必要に応じて whitespace を tab に変換することも出来ます。
;; http://www.fan.gr.jp/~ring/Meadow/meadow.html
(defun ys:trim-whitespaces ()
"Trim excess whitespaces."
(interactive "*")
(let ((key (read-char "Convert spaces?: (t)abify (u)ntabify (n)o"))
(reg (and transient-mark-mode mark-active)))
(save-excursion
(save-restriction
(if reg
(narrow-to-region (region-beginning) (region-end)))
(goto-char (point-min))
(while (re-search-forward "[ \t]+$" nil t)
(replace-match "" nil nil))
(if reg nil
(goto-char (point-max))
(delete-blank-lines))
(cond
((= key ?t)
(tabify (point-min) (point-max)))
((= key ?u)
(untabify (point-min) (point-max)))))))
(deactivate-mark))
~/.emacs.d/conf/init-scratch.el
;; -*- Mode: Emacs-Lisp ; Coding: utf-8 -*-
;; ============================================================
;; *scratch*バッファ
;; ============================================================
;; 29.4.2 *scratch*バッファを kill できないように (2003/04/09)
;; "http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=delete%20scratch"
;; ネタ元: Petit emacs lisp tips http://www-tsujii.is.s.u-tokyo.ac.jp/~yoshinag/tips/elisp_tips.html
;; C-x C-s 保存時には*scratch*バッファを作成
;; C-x k kill すると,*scratch*バッファの内容をすべて消してくれます.
(defun my-make-scratch (&optional arg)
(interactive)
(progn
;; "*scratch*" を作成して buffer-list に放り込む
(set-buffer (get-buffer-create "*scratch*"))
(funcall initial-major-mode)
(erase-buffer)
(when (and initial-scratch-message (not inhibit-startup-message))
(insert initial-scratch-message))
(or arg (progn (setq arg 0)
(switch-to-buffer "*scratch*")))
(cond ((= arg 0) (message "*scratch* is cleared up."))
((= arg 1) (message "another *scratch* is created")))))
(defun my-buffer-name-list ()
(mapcar (function buffer-name) (buffer-list)))
(add-hook 'kill-buffer-query-functions
;; *scratch* バッファで kill-buffer したら内容を消去するだけにする
(function (lambda ()
(if (string= "*scratch*" (buffer-name))
(progn (my-make-scratch 0) nil)
t))))
(add-hook 'after-save-hook
;; *scratch* バッファの内容を保存したら *scratch* バッファを新しく作る
(function (lambda ()
(unless (member "*scratch*" (my-buffer-name-list))
(my-make-scratch 1)))))
;; ------------------------------------------------------------
;; 29.6 scratch バッファの内容を保存 (2003/10/27)
(defun save-scratch-data ()
(let ((str (progn
(set-buffer (get-buffer "*scratch*"))
(buffer-substring-no-properties
(point-min) (point-max))))
(file "~/.scratch"))
(if (get-file-buffer (expand-file-name file))
(setq buf (get-file-buffer (expand-file-name file)))
(setq buf (find-file-noselect file)))
(set-buffer buf)
(erase-buffer)
(insert str)
(save-buffer)))
(defadvice save-buffers-kill-emacs
(before save-scratch-buffer activate)
(save-scratch-data))
(defun read-scratch-data ()
(let ((file "~/.scratch"))
(when (file-exists-p file)
(set-buffer (get-buffer "*scratch*"))
(erase-buffer)
(insert-file-contents file))
))
(read-scratch-data)
;;;;
;;;; end of file
;;;;
~/.emacs.d/conf/init-global.el
yes no をエンターでyesにしてる
;; -*- Mode: Emacs-Lisp ; Coding: utf-8 -*-
;; 問い合わせを簡略化
;; 問い合わせをさらに簡略化
;; http://d.hatena.ne.jp/goinger/20070723/1185214263
;; Treat 'y' or <CR> as yes, 'n' as no.
(fset 'yes-or-no-p 'y-or-n-p)
(define-key query-replace-map [return] 'act)
(define-key query-replace-map [?\C-m] 'act)
;; リージョンをC-hで削除
(delete-selection-mode t)
;;; 最終行に必ず一行挿入する
(setq require-final-newline t)
;;; 一行が 120 字以上になった時には自動改行する
;;(setq fill-column 120)
;;(setq-default fill-column 90)
;;(setq-default auto-fill-mode t)
;;; ---------------------------------------------------
;; 大文字小文字チェックを無効にする
;;; ---------------------------------------------------
(setq completion-ignore-case t)
;; ファイル名検索の大文字小文字チェックを無効にする
(setq read-file-name-completion-ignore-case t)
;; 検索時に大文字と小文字の区別をしない nil:する t:しない
(setq case-fold-search t)
;; 置換時に大文字と小文字の区別をしない nil:する t:しない
(setq case-replace nil)
;; 33.10 連続する同じ行を 1 行に― uniq (2003/10/08)
;; URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=uniq"
;; http://www.astrogoth.com/~reeses/software/uniq.el
;; 重複行の作成
;; リージョンで選択して,M-x uniq-region
;; M-x uniq-remove-dup-lines
(load "uniq")
(require 'highlight-current-line)
(highlight-current-line-on t)
;; To customize the background color
(set-face-background 'highlight-current-line-face "#281a14") ;; 鉄黒
;; (set-face-background 'highlight-current-line-face "#333631") ;; 黒緑