第6回init.el読書会に参加しました
自分も書いてみようと思ったので書いてみます。自分はあまり指摘ができないので、
- 気づいたこと
- 自分が知らなかった技術
などを書こうと思います。
今回はGithubで検索して見つけたdragonwasrobotさんのinit.elを見ました。
dragonwasrobot/dot-emacs
jade.el
これはJadeという、Haml, Slim, などと同様のHTMLテンプレートエンジンです。これは閉じタグがないタイプの軽量マークアップ言語のようです。
例はこんな感じ。
HTML
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>最高にクールなホームページ</title> <link rel="stylesheet" href="./css/app.css"> </head> <body> <h1>最高にクールなホームページ</h1> <p>最高にクールなホームページへようこそ。</p> <script src="./js/app.js" charset="UTF-8"></script> </body> </html>
JADE
doctype html html head meta(charset='UTF-8') title 最高にクールなホームページ link(rel='stylesheet', href='./css/app.css') body h1 最高にクールなホームページ p 最高にクールなホームページへようこそ。 script(src='./js/app.js', charset='UTF-8')
だいぶ楽に書けそうなテンプレートエンジンだと思います。
詳しい説明はこちらへ。
https://gist.github.com/japboy/5402844
dot-emacs.el
気づいたこと、知らなかった設定
L67
(set-fringe-mode 4)
これはフリンジと呼ばれる左右にある余白の設定です。(set-fringe-mode 100)とかするとどんなものなのかがわかりやすい。
L68
iswitch-mode は古い。icomplete-modeかido-modeを使うべきらしい
L75
standard-indent は謎。一体なんの設定なのか。
L108
(setq cursor-type 'bar)
cursor-typeという設定がある。Emacsのカーソルを設定することができる。
(add-to-list 'default-frame-alist '(cursor-type . 'box)) ;; ボックス型カーソル (add-to-list 'default-frame-alist '(cursor-type . 'hbar)) ;; 下線 (add-to-list 'default-frame-alist '(cursor-type . '(bar . 3)) ;; 幅3ポイントの縦棒カーソル
http://th.nao.ac.jp/MEMBER/zenitani/elisp-j.html#cursor
L110
saveplaceが便利そう。saveplaceはファイルを編集して、終了したときのカーソルの位置を覚えておく機能。
increment-number-at-pointというのがあるのを知った
Vimみたいにカーソル下の数字をインクリメントする機能。
dot-emacs.el#L222
IncrementNumber -EmacsWiki-
L199
kill-all-bufferはたまに便利そう。
;; すべてのバッファを削除する (defun kill-all-buffers () "Kills all emacs buffers." (interactive) (mapc (lambda (b) (kill-buffer b)) (buffer-list)))
aliases.el
dot-emacs-d/aliases.el
このファイルはEmacsでシェルのようにaliasを作っている
(defalias 'ms 'magit-status) (defalias 'qrr 'query-replace-regexp) (defalias 'er 'eval-region)
よく使うコマンドはこんな風に設定するといいみたいです。
coq.el
Coqについては↓へ。
Coqによる証明プログラミング
dot-emacs-d/modes/coq.el
eval-after-loadで(print)していてeval-after-loadが起きたことがわかりやすい
(eval-after-load "coq-mode" '(progn (print "In eval-after-load coq")) ...)
pretty-mode.elというものがある。
https://github.com/akatov/pretty-mode