[xyzzy:01741] Re: テキストのオートインデントについて
- Subject: [xyzzy:01741] Re: テキストのオートインデントについて
- From: Seiya Suda <EZU11330@xxxxxxxxxxxxxxxx>
- X-mailer: Denshin 8 Go V321.2b5
T井さん、こんにちは。
Mon, 1 Feb 1999 20:44:05 +0900 の
[xyzzy:01734] Re: テキストのオートインデントについて
への返事です。
> んー、インデントと名乗るからには、空白の数も保存したいところで
> すね。あと、キーバインドによって動作が変わるってのはなんか変(^^;
>
> | 単にリターンで済むところを上のように複雑にするわけですから、xyzzy が word
> | なみに重くなっちゃいます(ウソウソ)。
>
> この程度だったら self-insert-command よりは軽いという説も。
self-insert-command はまだ見てませんが、ちょっと勇気が出て、次のようにしてみ
ました。
(defun text-newline-indent (&optional (arg 1))
(interactive "*p")
(delete-horizontal-spaces)
(let ((current-space (save-excursion (goto-bol)
(and (looking-at "^[ \t]")
(following-char))))
(length (save-excursion (goto-bol)
(skip-chars-forward " \t")
(if (eolp) 0 (current-column)))))
(cond ((= arg 8)
(let ((current-gyoto
(save-excursion
(scan-buffer *gyoto-mark*
:regexp t :reverse t :tail nil)
(following-char))))
(insert #\LFD 2)
(insert current-gyoto)))
((= arg 9)
(insert #\LFD))
(t
(cond ((or (eq current-space #\SPC) (eq current-space #\t))
(insert #\LFD)
(insert current-space length))
((eq current-space #\ )
(insert #\LFD)
(insert current-space (floor length 2)))
(t (insert #\LFD))))))
t)
arg 8 で行頭マークを得る。arg 9 で改行のみ。arg なしで相対 indent です。
上のでOKでしょうか?
改行と同時に英字と日本字の間にスペースをあけることもやりたい人は、メール
送ってください。前に亀井さんに作ってもらったのがあります。ml の アーカイ
ブの中を探しても、出て来ますよ。
#おかしいな。なんで C-cC-cで送れないのだろ?
--------
須田誠也
EZU11330@xxxxxxxxxxx
亀井さん、こんにちは。
Mon, 1 Feb 1999 20:44:05 +0900 の
[xyzzy:01734] Re: テキストのオートインデントについて
への返事です。
> んー、インデントと名乗るからには、空白の数も保存したいところで
> すね。あと、キーバインドによって動作が変わるってのはなんか変(^^;
>
> | 単にリターンで済むところを上のように複雑にするわけですから、xyzzy が word
> | なみに重くなっちゃいます(ウソウソ)。
>
> この程度だったら self-insert-command よりは軽いという説も。
self-insert-command はまだ見てませんが、ちょっと勇気が出て、次のようにしてみ
ました。
(defun text-newline-indent (&optional (arg 1))
(interactive "*p")
(delete-horizontal-spaces)
(let ((current-space (save-excursion (goto-bol)
(and (looking-at "^[ \t]")
(following-char))))
(length (save-excursion (goto-bol)
(skip-chars-forward " \t")
(if (eolp) 0 (current-column)))))
(cond ((= arg 8)
(let ((current-gyoto
(save-excursion
(scan-buffer *gyoto-mark*
:regexp t :reverse t :tail nil)
(following-char))))
(insert #\LFD 2)
(insert current-gyoto)))
((= arg 9)
(insert #\LFD))
(t
(cond ((or (eq current-space #\SPC) (eq current-space #\t))
(insert #\LFD)
(insert current-space length))
((eq current-space #\ )
(insert #\LFD)
(insert current-space (floor length 2)))
(t (insert #\LFD))))))
t)
arg 8 で行頭マークを得る。arg 9 で改行のみ。arg なしで相対 indent です。
上のでOKでしょうか?
改行と同時に英字と日本字の間にスペースをあけることもやりたい人は、メール
送ってください。前に亀井さんに作ってもらったのがあります。ml の アーカイ
ブの中を探しても、出て来ますよ。
#おかしいな。なんで C-cC-cで送れないのだろ?
--------
須田誠也
EZU11330@xxxxxxxxxxx
--------
亀井さん、こんにちは。
Mon, 1 Feb 1999 20:44:05 +0900 の
[xyzzy:01734] Re: テキストのオートインデントについて
への返事です。
> んー、インデントと名乗るからには、空白の数も保存したいところで
> すね。あと、キーバインドによって動作が変わるってのはなんか変(^^;
>
> | 単にリターンで済むところを上のように複雑にするわけですから、xyzzy が word
> | なみに重くなっちゃいます(ウソウソ)。
>
> この程度だったら self-insert-command よりは軽いという説も。
self-insert-command はまだ見てませんが、ちょっと勇気が出て、次のようにしてみ
ました。
(defun text-newline-indent (&optional (arg 1))
(interactive "*p")
(delete-horizontal-spaces)
(let ((current-space (save-excursion (goto-bol)
(and (looking-at "^[ \t]")
(following-char))))
(length (save-excursion (goto-bol)
(skip-chars-forward " \t")
(if (eolp) 0 (current-column)))))
(cond ((= arg 8)
(let ((current-gyoto
(save-excursion
(scan-buffer *gyoto-mark*
:regexp t :reverse t :tail nil)
(following-char))))
(insert #\LFD 2)
(insert current-gyoto)))
((= arg 9)
(insert #\LFD))
(t
(cond ((or (eq current-space #\SPC) (eq current-space #\t))
(insert #\LFD)
(insert current-space length))
((eq current-space #\ )
(insert #\LFD)
(insert current-space (floor length 2)))
(t (insert #\LFD))))))
t)
arg 8 で行頭マークを得る。arg 9 で改行のみ。arg なしで相対 indent です。
上のでOKでしょうか?
改行と同時に英字と日本字の間にスペースをあけることもやりたい人は、メール
送ってください。前に亀井さんに作ってもらったのがあります。ml の アーカイ
ブの中を探しても、出て来ますよ。
#おかしいな。なんで C-cC-cで送れないのだろ?
--------
須田誠也
EZU11330@xxxxxxxxxxx
------------------------------------------------------------
○×△□ Email XXXXX@xxxxxxxxxxxxxxxxx
WWW http://www.XXXXXX.or.jp/
TEL 電子メールがあれば緊急時以外不要
FAX 電子メールがあれば FAX なんか不要