|
|
ぷらすさん曰く
Makefile ってめったに書かないので、makefile-mode は全然いじっていま
せん。なので、ぼくの環境も takashi さんと同じ動き方をしていると思います。
> >まったくの初心者で恐縮ですが、Meadow1.15でMakefileを書くときにタブで
> >インデントを入れることができません。
> .emacs のどこかで indent-tabs-mode を nil にしていませんか。
> この値を nil にするとインデントにスペースが使用されます。
ということじゃなくて、TAB を押したのになにも起きない、ということです
よね?
Emacs の各種モードは通常 TAB を押すと、indent-for-tab-command という
関数が動きます。この関数は通常は前の行のインデントをみて、そこまで字
下げをするという動きをします。逆に言うと、前の行が字下げしていなかっ
たら、なにもしません。
> また現在の状態でも(キーバインドを変更していなければ)
> C-q Tab と入力するとタブを挿入できます。
C-q TAB でも良いですが、通常は M-i で tab-to-tab-stop という関数が動
くので、単にタブを挿入したいときは、こちらを使う習慣をつけた方が良い
と思います。また、大抵の major-mode ではそうなっていると思います。
M-i でタブを挿入すると、次の行で TAB を押せば、前の行の indent にそ
ろえてくれます。これまた、大抵の major-mode がそういう動きになってい
るので、makefile-mode もそうなのでしょう。もし、前の行でタブを二つ入
れてあれば、TAB を一回押せばタブを二つ入れてくれるので、便利なのです。
また、やっぱり TAB で普通にタブを入れたい、ということでしたら、
(add-hook 'makefile-mode-hook
(lambda ()
(set (make-local-variable 'indent-line-function) 'indent-to-left-margin)))
が良いと思います。ちなみに、いつのまにか CVS Head の Emacs はこうなっ
ていて、悩んでしまいました。
# で、タブを入れたつもりなのにスペースになっていたら、ぷらすさんの書
# かれた indent-tabs-mode を疑うのですが、makefile-mode の中で 't'
# にバインドしているので、普通は大丈夫かな?
|
|