Thread View: fj.editor.xemacs
7 messages
7 total messages
Started by HIRAMOTO Kouji
Wed, 27 Jun 2001 09:51
text-mode を fundamental-mode にしたい
Author: HIRAMOTO Kouji
Date: Wed, 27 Jun 2001 09:51
Date: Wed, 27 Jun 2001 09:51
58 lines
3510 bytes
3510 bytes
平本です。 バッファのモードの設定方法について、ちょっと教えてください。 例えば T-gnus 6.15.3 の記事を書く *news* バッファとかでは、基本 となっているのが text-mode だと思うのですが、このモードだと ==== ああああ いいいいいいいいい ううう ==== とかいうのを M-q (M-x fill-paragraph-or-region) すると ==== ああああ いいいい いいいい いううう ==== というように、一行目の空白(1byte スペース 2文字分)がすべての行の行 頭に入ってしまいます。でも私は fundamental-mode での動作である ==== ああああ いいいいい いいいいう うう ==== という整形の方が好きなんです。他にも text-mode では C-o した時に set-fill-prefix で設定したプレフィックスが勝手に挿入されるなど、私 としてはかなり使いにくく感じてしまいます。 おそらく T-gnus の *news* バッファなどは「基本のモード + T-gnus で追加されたキーバインド」という感じでキー操作が定義されていると思 うのですが、この「基本のモード」の部分だけを変更することはできるの でしょうか? できるとすれば、どのように設定すればいいのでしょうか? とりあえずは text-mode になってる所を fundamental-mode にできれば、 個人的にはかなり幸せになれるのですが。 なお当方の環境ですが、以前は Debian GNU/Linux 2.2 上で Emacs 20.7 を使っていて、今は Debian 2.3 上で XEmacs 21.4 を使っています。 text-mode には Emacs 20.7 を使いだした頃から違和感を感じていました が、XEmacs になっておせっかい度が向上したように感じられます。(^_^;) 以上、ご存知の方がいらっしゃいましたら、ご教示よろしくお願いいた します。 -- 平本 光二 / みんと No.25 hiramoto @ flatray.com / http://www.flatray.com/~hiramoto/ #From: のメールアドレス宛のメールは自動的に破棄されます。 #フォローは基本的に、他の方の目にも触れる NetNews へお願いします。
Re: text-mode を fundamental-mode にしたい
Author: Seiichi Namba
Date: Wed, 27 Jun 2001 10:51
Date: Wed, 27 Jun 2001 10:51
65 lines
4120 bytes
4120 bytes
難波です。
xemacs と T-gnus はよく知らないのですが。
hiramoto@blackhole.flatray.com (HIRAMOTO Kouji) さん writes:
> ====
> ああああ
> いいいい
> いいいい
> いううう
> ====
こっちの問題は、当該のモードに入った時に自動的に fill-prefix に値が設
定されるようになっているんでしょうかね。M-q が見る prefix はたぶんこの
buffer-local 変数なので、(lambda () (setq fill-prefix)) のような関数を
適当な mode-hook に add-hook() しておけばいいのではありませんかね。
> おそらく T-gnus の *news* バッファなどは「基本のモード + T-gnus
> で追加されたキーバインド」という感じでキー操作が定義されていると思
> うのですが、この「基本のモード」の部分だけを変更することはできるの
> でしょうか? できるとすれば、どのように設定すればいいのでしょうか?
> とりあえずは text-mode になってる所を fundamental-mode にできれば、
> 個人的にはかなり幸せになれるのですが。
一般に、自分の好きなキーマップに変えるには、目的の map が何かを調べ、
define-key() を繰り返して気に入らない部分を変更する関数を適当なフック
に add-hook する、というのが多いですが、ご指摘のように作られているマッ
プであれば、問題のマップが作成される前に元ネタの方のマップをあらかじめ
変更しておく方法でもいいのかもしれません。
たとえば、text-mode-map の内容を fundamental-mode-map と同じにしてしまう
のであれば(fundamental-mode-map というのは無いと思うので)
(setq text-mode-map (make-sparse-keymap))
でいいのかしら? (もっとも、text-mode-map というのは小さい sparse map
なので、逐一手で作った奴に変えたって大した手間はないですが)
つまり、キーマップを転写(という用語が正しいかどうかは知らないが)する
には、copy-keymap した上改造した奴を use-local-map するか、elisp の
*info* でいえば "Inheritance and Keymaps" の章に記載されている方法のど
ちらかのはず。あるいはモードそのものを継承する方法もあったっけ…?。
だから、これらの方法で使われている元ネタのバインディングをあらかじめ
変えておけば目的は達成できるのではないかしら、という考えです。
> なお当方の環境ですが、以前は Debian GNU/Linux 2.2 上で Emacs
> 20.7 を使っていて、今は Debian 2.3 上で XEmacs 21.4 を使っています。
> text-mode には Emacs 20.7 を使いだした頃から違和感を感じていました
> が、XEmacs になっておせっかい度が向上したように感じられます。(^_^;)
私の場合は、text-mode-map では次の部分が気に入りません。
(27 keymap
(83 . isearch-forward-regexp)
(115 . center-line)
(9 . ispell-complete-word))
M-C-i は 全域に渡って lisp-complete-symbol() であって欲しい。
こういう記事を書く時不便でしかたがない訳で。今だに何の対策も
とっていない訳ですが…。
--
難波清一@東京西東京市 (http://www.asahi-net.or.jp/~pi9s-nnb/)
NAMBA Seiichi <sn@asahi-net.email.ne.jp>
Re: text-mode を fundamental-mode にしたい
Author: Katsumi Yamaoka
Date: Wed, 27 Jun 2001 12:02
Date: Wed, 27 Jun 2001 12:02
68 lines
3118 bytes
3118 bytes
>>>>> In <9hcaa8$arm$1@blackhole.flatray.com> >>>>> hiramoto@blackhole.flatray.com (HIRAMOTO Kouji) wrote: 平本さん> バッファのモードの設定方法について、ちょっと教えてください。 > 例えば T-gnus 6.15.3 の記事を書く *news* バッファとかでは、基本と > なっているのが text-mode だと思うのですが、このモードだと > ==== > ああああ > いいいいいいいいい > ううう > ==== > とかいうのを M-q (M-x fill-paragraph-or-region) すると > ==== > ああああ > いいいい > いいいい > いううう > ==== > というように、一行目の空白(1byte スペース 2文字分)がすべての行の行頭 > に入ってしまいます。 T-gnus は Gnus の仕様をほとんど踏襲しているのですが、これはたぶん ==== 平本さん> ああああ いいいいいいいいい ううう ==== を ==== 平本さん> ああああ 平本さん> いいいい 平本さん> いいいい 平本さん> いううう ==== のようにするために設けられている機能です。でも、そういうことを行 なう道具は他にもあるし、 > でも私は fundamental-mode での動作である > ==== > ああああ > いいいいい > いいいいう > うう > ==== > という整形の方が好きなんです。 ということであれば、とりあえずこれではどうでしょうか? (add-hook 'message-mode-hook (lambda nil (set (make-local-variable 'adaptive-fill-mode) nil))) 'message-mode-hook の代わりに 'text-mode-hook でも良いかもしれま せん。ぼくはこっち方面は苦手なので、もっと詳しいことは識者のみな さまに譲ります。(^^;;) -- 山岡
Re: text-mode を fundamental-mode にしたい
Author: Seiichi Namba
Date: Wed, 27 Jun 2001 14:56
Date: Wed, 27 Jun 2001 14:56
52 lines
3515 bytes
3515 bytes
難波です。
私は前の記事の後半では、これは keymap の問題ではないはずなんだがな、
と思いつつ書いていました。で、
Katsumi Yamaoka <yamaoka@jpl.org> さん writes:
> (add-hook 'message-mode-hook
> (lambda nil
> (set (make-local-variable 'adaptive-fill-mode) nil)))
>
> 'message-mode-hook の代わりに 'text-mode-hook でも良いかもしれま
> せん。ぼくはこっち方面は苦手なので、もっと詳しいことは識者のみな
> さまに譲ります。(^^;;)
この adaptive-fill-mode という変数の事を今まで知りませんでした。
この問題に私が今まで気付いてなかった(自分の環境では起きないな、と思っ
ていた)のは
(1) News/Mail では私は字下げというものをしない。
(2) 稀に字下げをしても日本語の字下げには必ず全角スペース「 」を使うた
め(自作の skk もどきでは 0x20 を入れるにはモードチェンジが必要)、
adaptive-fill が起きない。
という理由があったためでした(しかし上のような indent ありの文をfill する
時は adaptive-fill は便利ですね)。今回の問題は、普通の gnus-5.9.0
(emacs-21.0.103 のもの。無改造) の message-mode でも再現しました。
いずれにしても、この text-mode にかかわる fill の問題は
adaptive-fill-mode を適当に設定してやるしか解決しないようですね。
あるいは textmodes/fill.el を見ると、adaptive-fill-regexp というのがある
ようですから(emacs-21.0.103)、場合によってはこれをいじる方法でもいいのか
もしれないが。
でも、これって、全然 adaptive じゃないよな…。automatic 位なら判る気がす
るけど、ぶら下げインデントや引用のインデントと普通の字下げのどれをユーザ
が求めているかを適応的に判断するって位でないと adaptive とは言えんのじゃ
ないかな…。
adaptive-fill-mode オンの時に fill-prefix が決まるのは、
(fill-context-prefix FROM TO)
というしくみのようで、この関数では何やら色々やってますが
(textmodes/fill.el)、それほどお利口ではないようです。
たしかに、今の text-mode は中途半端な感じがしますね。
前の記事に書いたように ispell 関係のキーバインディングが入ってるような
部分はやはり キーマップをいじるしか無いようですし。
私自身はごく限定された用途でしか text-mode は使ってません。
Re: text-mode を fundamental-mode にしたい
Author: HIRAMOTO Kouji
Date: Fri, 06 Jul 2001 12:32
Date: Fri, 06 Jul 2001 12:32
28 lines
2774 bytes
2774 bytes
平本です。 返事が遅れてすいません。 In article <yosu3d8m5dx6.fsf@jpl.org.We.hate.spammers> yamaoka@jpl.org (Katsumi Yamaoka) said: > (add-hook 'message-mode-hook > (lambda nil > (set (make-local-variable 'adaptive-fill-mode) nil))) ありがとうございます。これで一番の問題は回避されました。 ただ、やはりベースが text-mode だと、他にも Ctrl-o すると prefix が勝手に挿入されたりとかするので(希望は、何も挿入せずに単に空行を 作ってほしい)、やはり fundamental-mode ベースにしたいのですが、ど んなもんでしょうか。 例えば .emacs の先頭で text-mode に対して define-key しまくると かすると、キーバインドについてはどうとでもなるんでしょうけど、 fundamental-mode も text-mode も Ctrl-o は open-line ですから、そ ういう問題でもないですし‥‥ -- 平本 光二 / みんと No.25 hiramoto @ flatray.com / http://www.flatray.com/~hiramoto/ #From: のメールアドレス宛のメールは自動的に破棄されます。 #フォローは基本的に、他の方の目にも触れる NetNews へお願いします。
Re: text-mode を fundamental-mode にしたい
Author: Katsumi Yamaoka
Date: Mon, 09 Jul 2001 01:40
Date: Mon, 09 Jul 2001 01:40
37 lines
3157 bytes
3157 bytes
>>>>> In <9i4b5p$ssc$1@lovely.angel.flatray.com> >>>>> hiramoto@blackhole.flatray.com (HIRAMOTO Kouji) wrote: >> (add-hook 'message-mode-hook >> (lambda nil >> (set (make-local-variable 'adaptive-fill-mode) nil))) 平本さん> ありがとうございます。これで一番の問題は回避されました。 平本さん> ただ、やはりベースが text-mode だと、他にも Ctrl-o すると 平本さん> prefix が勝手に挿入されたりとかするので(希望は、何も挿入せず 平本さん> に単に空行を作ってほしい)、 ううーむ、どうやったらそういうことができるんでしょうか? (^^;;) まだ何か adaptive な機能が活きているような気がします。 平本さん> やはり fundamental-mode ベースにしたいのですが、どんなもんで 平本さん> しょうか。 残念ながら現在の message-mode と text-mode の関係にカスタマイズ の余地はあまりありません。想像ですが、そういう構成にするのが欧米 の人たちにとってはよほど便利なのでしょうね。ぼく自身は text-mode への思い入れはまったくありませんし、それゆえにそういうお節介な機 能のことは知らないのですが。 平本さん> 例えば .emacs の先頭で text-mode に対して define-key しまく 平本さん> るとかすると、キーバインドについてはどうとでもなるんでしょう 平本さん> けど、fundamental-mode も text-mode も Ctrl-o は open-line 平本さん> ですから、そういう問題でもないですし‥‥ では、ちょっと乱暴ですけれど、.gnus ファイルに (defalias 'message-setup-fill-variables 'ignore) と書くのではどうでしょう? -- 山岡
Re: text-mode を fundamental-mode にしたい
Author: HIRAMOTO Kouji
Date: Mon, 09 Jul 2001 08:27
Date: Mon, 09 Jul 2001 08:27
30 lines
3056 bytes
3056 bytes
平本です。 In article <yosuu20mani7.fsf@jpl.org> yamaoka@jpl.org (Katsumi Yamaoka) said: 平本さん> ただ、やはりベースが text-mode だと、他にも Ctrl-o すると 平本さん> prefix が勝手に挿入されたりとかするので(希望は、何も挿入せず 平本さん> に単に空行を作ってほしい)、 > > ううーむ、どうやったらそういうことができるんでしょうか? (^^;;) Emacs 20.7 のソースから simple.el を引っ張り出してきて見てみたと ころ、open-line の中で fill-prefix や current-left-margin が定義さ れていたらとにかくそれらを挿入するようなコードになっていました。何 らかの hook とかでどうこうできる問題じゃありませんでした。また、そ ういうことなので、私の最初の質問における「text-mode だから云々」と いうのは的外れでした。 結局 open-line の定義を .emacs にコピーしてきて、(私にとっては) いらんことをしている部分をコメントアウトすることで解決しました。 C-o についてはこういうことになりましたが、fill-paragraph の問題 についてはとても参考になりました。どうもありがとうございました。 -- 平本 光二 / みんと No.25 hiramoto @ flatray.com / http://www.flatray.com/~hiramoto/ #From: のメールアドレス宛のメールは自動的に破棄されます。 #フォローは基本的に、他の方の目にも触れる NetNews へお願いします。
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads