スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Prev.    Category    Next 

ex-html-mode エスケープ文字やリストなどの入力機能追加

以前作成したブログの記述用に html-mode を拡張する lisp を更新しました。
ちなみに lisp ファイルのリンク先は Subversion なので、どの記事のリンクでも最新版へのリンクとなってます。
  • リンク貼り付けでの C-u の動作変更
  • エスケープ文字、空白の挿入
  • 自動改行の考慮
  • リンク、テーブルの挿入

リンク貼り付けの動作変更

C-c i C-y でクリップボードの文字列をリンクとして貼り付ける機能を付けていました。また、 C-u の後では新規ウィンドウでのリンクにしていたのですが、新規ウィンドウでのリンクの方をよく使っていたので、逆にしました。
つまり C-u C-c i C-y で新規ウィンドウで開かないリンクとなります。

エスケープ文字と空白の入力

<, >, & の HTML で使えない文字と空白を入力するためのキーワードの入力機能を付けました
キー挿入文字
C-c & &amp;
C-c < &lt;
C-c > &gt;
C-c [SPC] &nbsp;

自動改行の考慮

ブログでは改行を自動的に <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講座やさしいEmacs‐Lisp講座
(2011/06)
広瀬 雄二

商品詳細を見る
関連記事
スポンサーサイト
Prev.    Category    Next 

Facebook コメント


コメント

コメントの投稿

Font & Icon
非公開コメント

このページをシェア
アクセスカウンター
アクセスランキング
[ジャンルランキング]
コンピュータ
11位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
2位
アクセスランキングを見る>>
カレンダー(アーカイブ)
プルダウン 降順 昇順 年別

07月 | 2017年08月 | 09月
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -


はてな新着記事
はてな人気記事
ブロとも申請フォーム
プロフィール

yohshiy

Author:yohshiy
職業プログラマー。
仕事は主に C++ ですが、軽い言語マニアなので、色々使っています。

はてブ:yohshiy のブックマーク
Twitter:@yohshiy

サイト紹介
プログラミング好きのブログです。プログラミング関連の話題や公開ソフトの開発記などを雑多に書いてます。ただ、たまに英語やネット系の話になることも。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。