smartchrの設定例
Emacs Advent Calendar jp: 2011 : ATNDに初参加です。そして遅れてすみませんでした...。
28日目はd:id:k1Lowさんの空気のようなEmacs Lisp -2011 冬-です。
自分が書く内容はsmartchr.elの設定例が出来上がってしまいましたので、smartchr.elの設定を記事にしました。かなり大きくてちょっと申し訳ないですが...。
しかしこの新しい2つの良さそうなものが出てきたのでこの設定は使われない可能性も大ですが、本当に使われなくなる前に書いておこうと思います。
- key-comboを使って読みやすいコードを書く (Emacs Advent Calendar 8日目) - むしゃくしゃしてやった
- 連続操作を素敵にするsmartrep.el作った - sheephead
このsmartchr.elの設定はweb上の設定をかき集めたり、こう入力してくれたらいいのにをかなり詰め込んでいます。
以下自分のsmartchrの設定
この設定の一部をとりだして表にするとこんな風になります。
| "=" | "=" | " = " | " == " | ||
| "+" | "+" | " + " | "++" | " += " | |
| "-" | "-" | " - " | "--" | " -= " | |
| "(" | "(`!!')" | "(" | |||
| "[" | "[`!!']" | "`!!'" | "[" | ||
| "{" | my-smartchr-braces | "{" | "{`!!'}" | ||
| "`" | バッククォート | "\``!!''" | "\`" | ||
| "\"" | ダブルクォート | "\"`!!'\"" | "\"" | ||
| "\'" | シングルクォート | "\'`!!'\'" | "\'" | ||
| ">" | ">" | " > " | " => " | " >> " | |
| "<" | "<" | " < " | " << " | "<`!!'>" | |
| "," | ", " | "," | |||
| "." | "." | " . " | |||
| "?" | "?" | "? `!!' " | "< ?`!!'? >" | ||
| "!" | "!" | " != " | |||
| "&" | "&" | " && " | |||
| "|" | "|" | " || " | |||
| "/" | "/" | "/* `!!' */" | my-smartchr-comment | ||
| ";" | ";" | my-smartchr-semicolon |
参考にしたリンク
- Emacs で iPhone アプリ開発を快適にするための設定 : 紹介マニア
- smartchr.el を使って生産性を上げる - KAYAC engineers' blog
- css-modeの初期設定 - Clipboard
- sakito / dot.emacs.d / source / site-start.d / init_smartchr.el — Bitbucket
dolistを使ったadd-hookの設定をまとめるやり方はsakitoさんの設定を参考にしました。
この設定で一番取り上げたいことは
- my-smartchr-braces
- my-smartchr-comment
- my-smartchr-semicolon
の3つの関数です。それぞれどんな関数かというと...
| my-smartchr-braces | {}を展開してくれて、さらにインデントしてくれる |
| my-smartchr-comment | 複数行コメントのテンプレートを作ってれる |
| my-smartchr-semicolon | セミコロンを行の最後の挿入してくれる |
と、こういうわけなんですが、例を書くとこういう感じです。
- my-smartchr-braces
{
!! //←!!の場所にカーソルがインデントした状態で配置される
}
- my-smartchr-comment
/* * !! //←!!の場所にカーソルが移動 */
- my-smartchr-semicolon
test.TestMethod(); //←カーソルが現在の行にあれば、どこにカーソルがあっても行の最後に
//配置してくれるこれがあればかなり快適にEmacsの補助を受けれる設定が整うんじゃないかと思います。
あと設定例ではダブルクォートとか()とかをちゃんと設定しているので良かったら使ってください。使う場合はコピペか、ここ(github:gist)でダウンロードしてください。それか下の式を*scratch*で評価してください。(auto-install.elが必要です。)
(auto-install-from-url "https://raw.github.com/gist/1378885/ae9df80f5625d15cc06006763874a0070db5d1d9/init-smartchr.el")
ダウンロードしたらinit.elなどの設定ファイルで
(require 'init-smartchr)
を追加すれば設定が有効になります。
最後はFINAPさんのrc-vstudio.elで、VisualStudioをEmacsの手中に収める - ハンバーグステーキ -> BAKUNETSU VICTORYです。
>>> 2012/1/2
見にくいところとか、間違ってるところを修正。auto-installの式とかも追加
>>>2012/1/14
requireのことを書くのを忘れていたのでその設定を追加
追記 2012/4/4
- my-smartchr-braces
- my-smartchr-comment
- my-smartchr-semicolon
この関数は
を参照しています。