Article View: fj.editor.mule
Article #257Re: tab-width
From: Katsumi Yamaoka
Date: Tue, 03 Oct 2000 00:00
Date: Tue, 03 Oct 2000 00:00
67 lines
3520 bytes
3520 bytes
こんにちは山岡と申します。
>>>>> In <LvmC5.47$UR5.17552@news1.rdc1.kt.home.ne.jp>
>>>>> "Hiroyuki Hasegawa" <hhase@urawa.cabletv.ne.jp> wrote:
> タブの表示サイズを変更しようと思い、.emacsに以下の一行
> (setq tab-width 4)
> を挿入しましたが、反映されません。
> 具体的には、別のエディタで編集したソースファイルを読みこむと
> タブが8で表示されます。(当然、tab-widthも8のままです)
そのときの tab-width の値を M-x describe-variable を使って調べると
8 になっていると思います。
> しかし、
> M-x load-library ~/.emacs
> とすると、タブが4に変換(変更)されます。
そうすると 4 になりますよね。
tab-width はバッファローカル変数なので、起動時に .emacs に書かれた
(setq tab-width 4) が反映されるバッファ (ってどこ? ^^;;) 以外では
tab-width の値はデフォルトの 8 のままなのです。
したがって、すべてのバッファにおける tab-width の値を 4 にするため
には、tab-width のデフォルト値を変更しなければなりません。それは、
こうすればできます。
(setq-default tab-width 4)
ところが、これだけでは TAB 幅が 4 の世界を実現するには不足で、
tab-stop-list というリスト変数も変更する必要があるでしょう。例えば
このようにします。
(setq tab-stop-list
'(4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68
72 76 80 84 88 92 96 100 104 108 112 116 120))
さて、世の中には TAB 幅が 8 であることを想定して書かれた文書がたく
さんあるのですが、困ることは無いのでしょうか?
実は、ぼくの近所でも TAB 幅を 4 にしたいという要望が少なからずあっ
たのですが、ぼくは上記のように 4 に固定してしまうやり方は頑として
勧めませんでした。代わりに、以下のようなものを .emacs に書いてもらっ
ています。
(defun tab4 (arg)
"Toggle `tab-width' between 4 and 8.
With arg, set `tab-width' to 4 if and only if arg is positive."
(interactive "P")
(let ((width (if (integerp arg)
(if (> arg 0) 4 8)
(if (eq 8 tab-width) 4 8))))
(set (make-local-variable 'tab-width) width)
(set (make-local-variable 'tab-stop-list) nil)
(let ((n width)
(max 1024))
(while (<= n max)
(setq tab-stop-list (nconc tab-stop-list (list n))
n (+ n width))))
(message "TAB=%d" width)))
これは、M-x tab4 とタイプすると、そのバッファでだけ TAB 幅を 4 と
8 にトグルで切り替えることができるコマンドです。
--
Katsumi Yamaoka <yamaoka@jpl.org>
Technical Details
Message-ID:
<yosuk8bpft6r.fsf@jpl.org>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<LvmC5.47$UR5.17552@news1.rdc1.kt.home.ne.jp>Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS X-Google-Thread: 10eba4,fbf88f3053a843e1 X-Google-Attributes: gid10eba4,public From: Katsumi Yamaoka <yamaoka@jpl.org> Subject: Re: tab-width Date: 2000/10/03 Message-ID: <yosuk8bpft6r.fsf@jpl.org> X-Deja-AN: 677226594 References: <LvmC5.47$UR5.17552@news1.rdc1.kt.home.ne.jp> Content-Type: text/plain; charset=ISO-2022-JP X-Trace: fu-berlin.de 970612628 18537022 207.228.244.9 (16 [27265]) X-Face: #kKnN,xUnmKia.'[pp`;Omh}odZK)?7wQSl"4o04=EixTF+V[""w~iNbM9ZL+.b*_CxUmFk B#Fu[*?MZZH@IkN:!"\w%I_zt>[$nm7nQosZ<3eu;B:$Q_:p!',P.c0-_Cy[dz4oIpw0ESA^D*1Lw= L&i*6&( Organization: Emacsen advocacy group Mime-Version: 1.0 User-Agent: T-gnus/6.14.5 (based on Gnus v5.8.8) (revision 05) XEmacs/21.2 (beta35) (Nike) (sparc-sun-solaris2.6) WEMIKO/1.14.0 (Zoomastigophora) SLIM/1.14.3 (篠原ともえ) APEL/10.2 Newsgroups: fj.editor.mule