• 締切済み

emacsのカスタマイズ

emacsのカスタマイズで質問です。 cモードになったとき(できれば他の全てのモードでも)、フリーにタブを入力したいのですが、どのようにカスタマイズすれば良いのでしょう? いろいろ調べてみて、 (setq c-auto-newline nil) とか、 (setq c-tab-always-indent nil) としてもダメです。 ついでに、タブ幅を4にしたとき、 (setq-default tab-width 4) (setq-default tab-always-indent t) タブは4桁になるのですが、タブキーを押すと2タブ入ってしまいます。 どうしても、1タブキーで8桁進めたいようです。 これを1タブキーでタブ1つが入って、4桁であって欲しいのですが、どうすれば良いでしょう? よろしくお願いします。

みんなの回答

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

すみません, ・タブの削除で行削除になる ・double で宣言した時にタブが揃わない って, それぞれどのような現象なのでしょうか? ちょっと想像がつきかねるのですが....

okazaki0ko
質問者

補足

例で示します。 > ・タブの削除で行削除になる 1:→ i = 10; 2:→ ■ 3:→ while ( i ) { というプログラムがあったとして、2行目にタブが1つ入っていて、カーソルが■の位置にあるとします。 このとき、BSキーでタブを削除すると普通のエディタなら 1:→ i = 10; 2:■ 3:→ while ( i ) { となりますが、emacsでは、 1:→ i = 10;■ 2:→ while ( i ) { となってしまいます。 > ・double で宣言した時にタブが揃わない これは、 1:→ int i, 2:→   j; 3:→ double x, 4:→   y; 4行目のように、変数xとyのタブが揃わない現象のことです。

  • dev_null
  • ベストアンサー率67% (37/55)
回答No.2

どのような style でコードを書いてるか分かりませんが 個人的には c-mode で気になりませんよ 一掃のこと c-mode 自体を止めてしまってはどうでしょうか? (setq auto-mode-alist (append '(("\\.c$" . text-mode) ("\\.cc$" . text-mode) ) auto-mode-alist))

okazaki0ko
質問者

お礼

cモードが便利で、普通の状況では十分に満足しています。 ただ、今回は、UNIXの社内研修の講師をすることになりまして、エディタの紹介でemacsを使おうと思いました。 しかし、研修で使うには、「素直な」エディタの方が都合良く、質問させていただいた次第です。 > 一掃のこと c-mode 自体を止めてしまってはどうでしょうか? cモードを止めると、キーワードの色つけもなくなりますよね? わがままですが、それはそれで不便で・・・。

  • dev_null
  • ベストアンサー率67% (37/55)
回答No.1

> cモードになったとき(できれば他の全てのモードでも)、フリーにタブを入力したいのですが、 > どのようにカスタマイズすれば良いのでしょう? この設定は、試したことがありません C-q TAB あるいは C-q C-i とかで代用するとか.. > これを1タブキーでタブ1つが入って、4桁であって欲しいのですが、どうすれば良いでしょう? 下のような設定でいけると思うのですがどうでしょうか。 (add-hook 'c-mode-common-hook '(lambda () (setq indent-tabs-mode t) (setq c-basic-offset 4) ))

okazaki0ko
質問者

お礼

回答ありがとうございます。 後半の > (add-hook 'c-mode-common-hook > '(lambda () > (setq indent-tabs-mode t) > (setq c-basic-offset 4) > )) に関しましては、すでに設定済みでした。 結果的には1タブで4桁で良いのですが、マイクロソフトにも負けない「小さな親切、余計なお世話」な、タブの削除で行削除になってしまったり、doubleで宣言した時にタブが揃わなかったりと散々です。 他の設定で、この「小さな親切、余計なお世話」を解除できないでしょうか? 後半は、C-q TAB で確かに動作しました。 が、タブキーを1回押す動作とこれとでは手の動きが全然違いすぎて・・・。

関連するQ&A