第6回init.el読書会に参加しました

自分も書いてみようと思ったので書いてみます。自分はあまり指摘ができないので、

  • 気づいたこと
  • 自分が知らなかった技術

などを書こうと思います。

今回はGithubで検索して見つけたdragonwasrobotさんのinit.elを見ました。
dragonwasrobot/dot-emacs

jade.el


dot-emacs-d/modes/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

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)))

dot-emacs.el#L199

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

終わりに

もう気力が続かないのでここで終わります。

init.el読書会は毎週土曜日22:00時、lingrEmacs部屋でやってるので、興味のある方はぜひ参加してみてください。

http://emacs-jp.github.io/reading-init.el/