![]() |
Vine3.2 で Emacs |
| 西広島ドットコムへようこそ! |
| |トップ|新着情報|検索|サイトマップ| |
|
Emacs メモPSGML モードを使ってみるEmacs での XML 文書編集を快適にすることを考えてみた。 文書構造は比較的簡単なので、カットアンドペーストでもよい状態なのだが、 一応、SGML 文書を編集できるマクロ PSGML をインストールした。 やり方は PSGML で XML 文書を書く そのままである。 ちょっと変えたところは、 (setq sgml-markup-faces '((start-tag . font-lock-keyword-face)
(end-tag . font-lock-keyword-face)
(comment . font-lock-comment-face)
(ignored . font-lock-name-face)
(pi . font-lock-keyword-face)
(sgml . font-lock-keyword-face)
(doctype . font-lock-constant-face)
(entity . font-lock-string-face)
(shortref . font-lock-function-face)))
(setq sgml-set-face t)
(setq sgml-insert-missing-element-comment t)
(setq sgml-indent-step 1)
のあたり。xhtml1-transitional.dtd を webpage.dtd にリネームし、一部タグを変更し、昨日示したような XML 文書に対応するようにした。 lat1.ent などをカレントディレクトリに置くと、実体参照も補完できるようになる。 タグは色つき表示可能。 私は XHTML 1.0 Transitional の一部を使い、適度な拡張を施したタグ構造を目指したいのだが、 DTD さえできれば、快適に入力できる。 XHTML の DTD はそう読みやすくはないが、要らない部分をカットし、 必要な部分を追加した自��僂�DTD が完成したら、かなり便利そうである (カットによる DTD の完成までは 2 時間程だった)。 便利なのは、タグ構造の折りたたみ。かなり見通しがよくなる。 CATALOG の作り方カタログファイルは動作しないように見えたが、動作している。それは PUBLIC の場合。 PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" html4.01/loose.dtd のように書くと、samp.html に、 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> と書いた段階で、CATALOG に基づき、C-c C-e にてタグを挿入してくれる。しかし、SYSTEM の場合、 SYSTEM "webpage.dtd" webpage.dtd と書いても PUBLIC と同様では C-c C-e が効かない。絶対パスで、 <!DOCTYPE webpage SYSTEM "/home/hoge/lib/DTD/webpage.dtd"> のようにしないと面倒を見てくれない。 つまり CATALOG に記述する意味がない……。 SYSTEM は絶対あるいは相対パスで記述すべし、という取り決めか何かがあったっけなぁ。 結局、 (setq sgml-custom-dtd
'(
("webpage 0.1"
"<!DOCTYPE webpage SYSTEM \"/home/hoge/lib/DTD/webpage.dtd\">\n")
))
のような記述が必要となってくる。 ange-ftp次世代のホームページは XML/SGML に準拠したものとなっていこう。 その方向が明確になり、自分の準備も進んでから根本的に教室のホームページを改訂しよう、と考えていたが、 どうやらその時期は近づいてきた。 現在、セキュリティ事情から、ssh でつないだ上でファイルをいじっている。 これだと、頻繁な更新は億劫だ。 Wiki で管理というのも、公式ページや商売にはもう少し抵抗がある。 さらに XML で最初からバンバン行くということもできない。 とりあえず、サーバ上で emacs -nw などと起動して、苦労してきたのだが、 これからの展望を探るという一貫で、 試しに ange-ftp.el を使ってみると、ssh ごしでも簡単に編集でき、 Dired も使えてしまうし、C と打つだけで ftp 転送できてしまう。 C-x d /user@domain.name 10021:/ という具合だし、C-x C-f で普通に /user@domain.name:/ を開けてしまう。 何人かのユーザごとにファイルを開いたり、許可属性を変更したりというようなことも必要なので、完璧ではないが、 かなり手数が省けるはず。 なお、ftp に与えるパラメータが初期値ではパッシブモードになっていないかもしれない。 この場合、~/.emacs に次のように書く。 (setq ange-ftp-ftp-program-args '("-i" "-n" "-g" "-v" "-p"))
起動エラー何らかの理由で開くべきファイルの日付が 2099 年などになっていると、ハングして終了する。 touch -t 1001000099 somefile などとするかツールを使い、日付を変更すると直る(Meadow はよくそうなった)。 .emacs の中でエラーが起きた場合その後は読み込まれないので、どこら辺でエラーが起こっているかは、 .emacs の中で setq されてる変数を評価するなどすると結構絞り込める(変数が未定義になったりするので)。 C-x C-b でバッファメニューを開き *Message* を見てもある程度わかったりする。 もう少し正確に調べたい場合は、
1行あたりの文字数を設定するC-u 40 C-c fとし、段落内で C-q。 リージョン内の文字数・行数の確認M-= で可能 原稿用紙換算1 行 40 カラムとしてテキスト出力し、行を数えて 20 で割る。 Emacs への UCS フォントのインストールMule-UCS をインストールし .emacs.my.el のほぼ最後に次の各行を加える。 ;;; For Unicode (add-to-list 'load-path "/usr/share/emacs/site-lisp/Mule-UCS/lisp") (require 'un-define) lisp のあるディレクトリで、以下のように .elc ファイルを作ったほうが速い。 emacs -q --no-site-file -batch -l mucs-comp.el これで C-x [Enter] f utf-8 [Enter] などで utf-8 のファイルが作成可能だ。 読むには、C-x [Enter] c utf-8 [Enter] の後でファイルを開く。 補助漢字についての参考資料(Meadow の時代)BDFfont のインストールをするなら、 root として、次のことを実行する。 cd /mnt/win/Meadow/intlfonts-1.2/Japanese bdftopcf -o jksp16.pcf jksp16.bdf gzip jksp16.pcf cp jksp16.pcf.gz /usr/X11R6/lib/X11/fonts/japanese jksp24.bdfについても(場合によってはjksp40.bdfも)同様。 mkfontdir xset fp rehash 補助漢字入力環境
メニューバーM-x menu-bar-mode で画面上のメニューバーを表示するかどうかをトグルする。 リージョンの強調X ウィンドウシステムを使っているのであれば, Emacs はカレントリージョンを強調表示できる。 暫定マーク(transient-mark)モードをオンにすると, リージョンの強調表示機能をオンにできる。 このためには M-x transient-mark-mode と打つ。 この関数はトグルするので、不要ならもう一度 M-x transient-mark-mode とする。 画面を横に分割するM-x split-window-horizontally というコマンドがある。 画面を横にスクロールする
|
| |サイトポリシー|プロフィール|地図|お問合せ| |
2007- (C) Nishihiroshima.com
|