=============================================== 1999.8.25 発行 =========
極私的 Emacs カスタマイズ紹介マガヂン
Emacs をわたし色に染めて♪
------------------------------------------------------------------------
第 10 回 便利なマクロ (2) 長い横線を簡単に引く
------------------------------------------------------------------------
※あなたのカスタマイズをぜひ教えてください。一般的なものから、他の人は
絶対にしないような「外道」なものまで、何でも結構です。
※解除の方法は、このメールの末尾をごらんください。
========================================================================
こんにちは。でるもんた・いいじまです。
今回は予定を変更して、マクロの紹介です。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
☆今回のお題☆
今回のお題は、長い線を引くためのマクロです。
長い文章を書いている場合、一定の区切りで区切り線を引きたくなります。
このマガジンでも、
=-=-=-=-=-=-=-=-=-=-=-=-
といった線を引いていますね。
通常の線の場合は切り貼りするのが簡単なのですが、こういう場合は
センタリングが面倒です:
;-----------------------関数その1-----------------------
(defun function1 ()
(interactive)
:
:
)
;-----------------------関数その2-----------------------
(defun function2 (szParam1 iParam2)
(interactive)
..........
..........
)
;---------------------End of file-----------------------
そこで今回紹介するのが、この操作を自動で行うマクロです。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
☆まずはダウンロード☆
さて、今回のマクロは長くなるので、別ファイルにしました。
ここからダウンロードしてください。
http://user.ecc.u-tokyo.ac.jp/~l94102/emacs/ds-line.el
【後日注】このページは引っ越しました。
http://www.ht.sakura.ne.jp/~delmonta/emacs/ds-line.el
へどうぞ。
文法的にはけっこう難しいことをしていますので、今回は文法解説は
せず、使い方の説明を中心にしたいと思います。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
☆インストール☆
つづいて、~/.emacs に次のように書いてください。
(autoload 'delmonta-line-macro "ds-line"
"Delmonta's Line Macro" t)
これは、「M-x delmonta-line-macro が実行されたら、その時点で
自動的に ds-line.el(または ds-line.elc)を読み込む」という
設定です。
ところが、これだけでは不十分です。autoload は、変数 load-path
に書かれたディレクトリしか読みにいってくれません。(UNIX や
MS-DOS の環境変数 PATH と似たようなものだと思えばいいでしょう。)
そのため、ds-line.el がおいてあるディレクトリを、たとえば次のよう
にして load-path に追加してやります。
(setq load-path (cons "/home/delmonta/bin" load-path)
【補足】(1)load-path に追加せずに、autoload 文でフルパスを
指定して読み込むことも可能です。
(2)ここでは、ホームディレクトリを表す '~' は使わない
ほうがいいでしょう。一応使えるようですが、使いたい
場合は
(setq load-path (cons
(expand-file-name "~/bin")
load-path
))
のように expand-file-name を使うのが定石です。
さらに、キーボードに割り当てたい人は割り当てます。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
☆使い方☆
まず、適当なファイルを開いて、M-x delmonta-line-macro RET と
してください。すでにキーに割り当てている人はそれでもかまいません。
「Pattern ID, or 0 for viewing all patterns:」と訊かれるので、
ここはとりあえず 1 を入力してください。
そうすると、カーソルの位置に ------------ という線が、
横幅いっぱいに引かれます。
次に、何か文字のある行で同じことをしてみてください。
自動的にその文字がセンタリングされ、
------------------元々あった文字------------------
といった感じになります。元々の行が画面幅より長い場合は自動的に
改行を入れます。
さらに、このマクロはファイルのファイル名を自動判別して、
コメント用の構文を補ってくれます。たとえば、拡張子が .c なら
/*----------------元々あった文字----------------*/
になりますし、拡張子が .el のファイルや .emacs では
;-----------------元々あった文字------------------
になります。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
☆パターン色々☆
このマクロには、'--------' 以外にもいろいろなパターンがあります。
先ほどの Pattern ID のところで「0」を入れると、パターンの一覧表が
表示されます。たとえば、
*********************************************************
大きな見出し
*********************************************************
という見出しを作るには、パターン 4 で '******' を出し、パターン
3 で文字のセンタリングを行うとよいでしょう。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
☆カスタマイズ☆
カスタマイズは、ds-line.el に方法が書いてありますので、
そちらを参照してください。
なお、ds-line.el に書いてある方法は .emacs で処理する方法ですが、
ds-line.el そのものに手を加えてももちろんかまいません。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
☆次回予告☆
次回は、「第 11 回 エイトック的たまご生活(2)」です。
外見とローマ字に引き続き、キー操作を ATOK 化します。
それではまた♪
========================================================================
極私的 Emacs カスタマイズ紹介マガジン Emacs をわたし色に染めて♪
☆発行人☆
でるもんた・いいじま <L94102@mail.ecc.u-tokyo.ac.jp>
http://user.ecc.u-tokyo.ac.jp/~l94102/emacs/
※このメールマガジンで取り上げてほしいテーマ、ご意見など
ありましたら、上のメールアドレスまでお気軽にどうぞ。
☆配信☆
このメールマガジンは、「インターネットの本屋さん・まぐまぐ」を
利用して配信しています。
http://www.mag2.com (マガジン ID=0000013484)
☆バックナンバー・登録解除・メールアドレス変更は☆
上記のホームページまでどうぞ。
なお、手動での登録解除は行っておりませんのでご了承下さい。
=========================================================================
Copyright © IIJIMA Hiromitsu aka Delmonta,
2016/03/10 15:09 JST
これは「古文書」です。
古くなった情報も原則未修正で保存していますのでご注意ください。