dポイントプレゼントキャンペーン実施中!

こんにちは。
Emacsは、Gnu Emacs for Windows 23.4 を使っています。

Emacsにおいて、指定文字数を越えた時に、折り返す機能について調べたところ、
特定のメジャーモードにおいて、以下のような2行を実行すれば、
80文字を越えた時点で、行が折り返されると書いてあるサイトを、いくつか見かけました。
--------------------------------------------------------------------------------
;;auto-fillモードを有効にする.
(turn-on-auto-fill)
;;これは, メジャーモードごとに設定する必要がある.
;;無効にするには, 「M-x auto-fill-mode」と入力する.

;:折り返しを行う時の文字数を指定する.
(setq fill-column 80)
;;これは, メジャーモードごとに設定する必要がある.
;;auto-fillモードが有効な状態だと, 80文字で行が折り返される
--------------------------------------------------------------------------------

そこで、Emacs-Lispモードや、C++モードなどのバッファにおいて、
上記の2行を実行したのですが、80文字を越えても、行が折り返されませんでした。
具体的に言いますと、
--------------------------------------------------------------------------------
あああああああああああああああああああああああああああああああああああああああああああああああああああああ
--------------------------------------------------------------------------------
のように、日本語を入力したときは、80文字(全角40文字)を越えたところで、折り返されました。
ところが、
--------------------------------------------------------------------------------
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
--------------------------------------------------------------------------------
のように、半角の英数字を入力したときは、80文字を越えても折り返されませんでした。

より詳しく調べてみると、どうやら、80文字を越えるところで、全角文字が入力されて確定される場合にのみ、行が折り返されるようでした。
例えば、
--------------------------------------------------------------------------------
1234567890123456789012345678901234567890123456789012345678901234567890123456ああああああああ
--------------------------------------------------------------------------------
のように、半角数字を76文字入力した後、「ああああああああ」と入力して確定すると、
2つ目と3つめの「あ」の間で、行が折り返されました。

半角文字だけの行でも、80文字を越えたら、折り返されるように設定したいのですが、
Emacsでそれは可能なのでしょうか?
色々調べてみても、やり方が分からなかったので、今回質問させて頂きました。

以上の件について何かご存知の方がいらっしゃれば、是非教えて頂きたいと思います。
では、よろしくお願い致します。

A 回答 (1件)

英文では、単語の途中で折り返さないようにするのが普通です。


数字も途中で切らないのが普通です。

いずれも、前後に空白があれば、そこで改行されます。

空白でなくても改行させたいのなら、自作ということになるのでは。
探せばあるかもしれませんが。

;; あと、auto-fill-modeって、プログラムのときは邪魔ですよね?
;; 少なくとも、シェルスクリプトのような行単位で処理するものだと、勝手に改行されては困ります。
;; 常のon→必要なときにM-x auto-fill-mode なんてことはしないで、
;; text-modeとかの文章用モードのときだけ有効になるように hookに登録するとか
;; 常にoff→使いたいときだけ M-x auto-fill-mode の方がよくあるやりかただと思います。

この回答への補足

言い忘れていましたが、指定した文字数で「改行」するのではなくて、
単に折り返して表示することってできないのでしょうか?
(Emeditorといったテキストエディタでは可能です。)

補足日時:2012/11/02 17:37
    • good
    • 0
この回答へのお礼

御回答ありがとうございます。

なるほど、英文では、指定した文字数の前後で空白がある場合に、
改行が行われるのですね。
一度試してみます。

お礼日時:2012/11/02 17:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!