ex-html-mode エスケープ文字やリストなどの入力機能追加
ちなみに lisp ファイルのリンク先は Subversion なので、どの記事のリンクでも最新版へのリンクとなってます。
- リンク貼り付けでの C-u の動作変更
- エスケープ文字、空白の挿入
- 自動改行の考慮
- リンク、テーブルの挿入
リンク貼り付けの動作変更
C-c i C-y でクリップボードの文字列をリンクとして貼り付ける機能を付けていました。また、 C-u の後では新規ウィンドウでのリンクにしていたのですが、新規ウィンドウでのリンクの方をよく使っていたので、逆にしました。つまり C-u C-c i C-y で新規ウィンドウで開かないリンクとなります。
エスケープ文字と空白の入力
<, >, & の HTML で使えない文字と空白を入力するためのキーワードの入力機能を付けましたキー | 挿入文字 |
---|---|
C-c & | & |
C-c < | < |
C-c > | > |
C-c [SPC] | |
自動改行の考慮
ブログでは改行を自動的に <br /> にするモードとそのまま html とするモードがあります。 これを考慮するようにしました。ex-html-target-mode-auto-newline の変数を nil に設定すると [Enter] で改行する時に<br /> を入力してから改行するようになります。
タグを入力せずに改行したい場合には C-j で改行してください。
リンク、タグの挿入
html の各リンク、テーブルを挿入する機能を付けました。- C-c i u
- リスト(番号なし)
- C-c i o
- 番号付きリスト
- C-c i d
- 定義リスト(今書いているのに使っているリスト)
- C-c i t
- テーブル
番号あり、なしのリストの場合、リスト項目が順次聞かれます。リスト項目に何も入力しないと終了します。
定義リストの場合には、定義名と定義の説明が聞かれます。 定義名を聞かれた時に何も入力しないと終了です。定義の説明には何も入力したくない時があるので、 何も入力しなかった場合は何も入力しないだけにしています。
テーブルは先頭行はヘッダで決め打ちにしています。 最初にヘッダのカラムを入力していき、空入力でヘッダの入力を終わります。 その後、各カラムの内容を聞かれます。先頭カラムで何も入力しないと終了します。
前節の自動改行用のモードが non-nil の場合、改行が入らないようにつなげて入力されます。
html モードのタグ挿入(C-c C-t) のように領域選択で動作を変えようかなともちょっと思いました。 しかし、 ul, ol はいいのですが、 定義リストやテーブルでできません。
: や, を置換してもいいかなとも思ったのですが、やりすぎると rdoc のようなフォーマットで書いて変換した方が早い気がしてやめてしまいました。
![]() | やさしいEmacs‐Lisp講座 (2011/06) 広瀬 雄二 商品詳細を見る |
- 関連記事
-
- Emacs で何でもハイライト
- ex-html-mode リンク挿入機能追加
- ex-html-mode エスケープ文字やリストなどの入力機能追加
- yafm.el - コンパイル、grep を使いやすくする emacs-lisp
- Emacs の貼り付けをちょっと便利にするテクニック
Facebook コメント
コメント