- 締切済み
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桁であって欲しいのですが、どうすれば良いでしょう? よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- Tacosan
- ベストアンサー率23% (3656/15482)
すみません, ・タブの削除で行削除になる ・double で宣言した時にタブが揃わない って, それぞれどのような現象なのでしょうか? ちょっと想像がつきかねるのですが....
- dev_null
- ベストアンサー率67% (37/55)
どのような style でコードを書いてるか分かりませんが 個人的には c-mode で気になりませんよ 一掃のこと c-mode 自体を止めてしまってはどうでしょうか? (setq auto-mode-alist (append '(("\\.c$" . text-mode) ("\\.cc$" . text-mode) ) auto-mode-alist))
お礼
cモードが便利で、普通の状況では十分に満足しています。 ただ、今回は、UNIXの社内研修の講師をすることになりまして、エディタの紹介でemacsを使おうと思いました。 しかし、研修で使うには、「素直な」エディタの方が都合良く、質問させていただいた次第です。 > 一掃のこと c-mode 自体を止めてしまってはどうでしょうか? cモードを止めると、キーワードの色つけもなくなりますよね? わがままですが、それはそれで不便で・・・。
- dev_null
- ベストアンサー率67% (37/55)
> 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) ))
お礼
回答ありがとうございます。 後半の > (add-hook 'c-mode-common-hook > '(lambda () > (setq indent-tabs-mode t) > (setq c-basic-offset 4) > )) に関しましては、すでに設定済みでした。 結果的には1タブで4桁で良いのですが、マイクロソフトにも負けない「小さな親切、余計なお世話」な、タブの削除で行削除になってしまったり、doubleで宣言した時にタブが揃わなかったりと散々です。 他の設定で、この「小さな親切、余計なお世話」を解除できないでしょうか? 後半は、C-q TAB で確かに動作しました。 が、タブキーを1回押す動作とこれとでは手の動きが全然違いすぎて・・・。
補足
例で示します。 > ・タブの削除で行削除になる 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のタブが揃わない現象のことです。