• ベストアンサー

emacsのタブ

emacsのCソースモードで、"{"の次の行が自動インデントされますが、ブランク2つ分となります。 8タブにしたいのですが、方法を知らないでしょうか。 あと、カスタマイズに詳しいサイトがあれば教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.1

>あと、カスタマイズに詳しいサイトがあれば教えてください。 emacs と カスタマイズ をキーワードにして検索してください。幾つかでてきます。 http://home.att.ne.jp/alpha/z123/elisp-j.html http://www.ht.sakura.ne.jp/~delmonta/emacs/

yamaokojo2
質問者

お礼

参考になりました。

その他の回答 (1)

  • terra5
  • ベストアンサー率34% (574/1662)
回答No.2

変数 c-indent-level の値で決まります。 初期値が2ですので8に設定するにはこれを .emacs にでも入れてください。 (set-variable (quote c-indent-level) 8) 他にも似たような変数でカスタマイズできます。 詳しくはこのコマンド実行して、ヘルプを読んでください。 (describe-function (quote c-mode))

関連するQ&A

  • 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桁であって欲しいのですが、どうすれば良いでしょう? よろしくお願いします。

  • emacsによる字下げの方法

    最近、Windows版emacs(Meadow)で、C言語のプログラムを書き始めた初心者です。 emacsにはTABで半角スペースによる適切なインデントを行ってくれる便利な機能がありますが、行頭のみでしか行ってくれません。行頭以外でも字下げを行う方法はありますか?例えば、 ------ int n char a[10] ------ と記入した際、のnとa[10]の頭を揃える方法です。 自分である程度調べてみるとM-iに字下げを行うコマンドを見つけましたが、タブ文字を使用してしまうため環境によって表示がバラバラになり見にくいという指摘があるため、タブ文字の使用は控えたいのです。 このM-iによる字下げを半角スペースによって行う方法、行頭以外で半角スペースによる字下げを行う別の方法、どちらでも構いません。 わかる人がいれば教えてください。よろしくお願いします。

  • タブとリーダーについて

    タブ位置を12字に設定してリーダー線を入れた後、2行目以降の文書をぶら下げインデントで12字まで下げると、リーダー線が表示しなくなります。左揃えタブをぶら下げインデントから少しずらすと、また見えるようになるのですが、それだと文字の揃えが崩れてしまいます。 どなたか2行目以降の文書をタブ位置に揃えてもきれいにリーダー線を表示させる方法を教えてください!

  • emacsの自動改行+インデントについて

    linuxでC言語を勉強しています。 emacsをいろいろなサイトを参考にしていじっているのですが、 (add-hook 'c-mode-common-hook ____________'(lambda () _________________(c-toggle-auto-hungry-state 1) )) で自動改行+インデントをしています。 しかし、これだと for(i=0;i<10;i++) ___{ _______... ___} というふうになってしまいます。どうも私はそれが気に食いません。 できれば、 for(i=0;i<10;i++){ ____... } となってほしいのです。 ただし、";"、"{"、"}"を入力した後には改行+インデントしてほしいです。 一度、 (define-key c-mode-base-map ";" 'newline-and-indent) としてみたのですが、これだと、;が表示されずに改行、インデントされてしまい失敗でした。 elispについて詳しく知らないので教えてください。

  • UNIX標準出力で表示されるタブの幅について

    UNIX標準出力で表示されるタブの幅について 標準出力で表示されるタブの幅がデフォルトで8に設定されているのですが、 これを変更することはできないでしょうか? Cソースなどをタブの幅4でインデントを揃えているのですが このCソースをdiffコマンドなどで標準出力に出力すると タブが自動的に8で表示されてしまい非常に見づらいので 変更する方法を調べているのですが、さっぱりわかりません。 どなたかご存知の方いらっしゃいませんでしょうか? ちなみにシェルはcshです。 宜しくお願いいたします。

  • 指定文字数で、行を折り返す設定(Emacs)

    こんにちは。 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でそれは可能なのでしょうか? 色々調べてみても、やり方が分からなかったので、今回質問させて頂きました。 以上の件について何かご存知の方がいらっしゃれば、是非教えて頂きたいと思います。 では、よろしくお願い致します。

  • Windows 用 Emacs で、shell で困ってます

    perl のプログラムを、Emacs の shell で実行すると,打ったコマンドが、次の行に現れて、プログラムがうまく動いてくれません。たとえば、 print "Enter a first number: "; chomp($one = <STDIN>); の部分が、プリントされないのです。何も表示されてないところへ、数を入力すると、最後にまとめてプリントされます。  Emacs をカスタマイズすれば直るものでしたら、嬉しいんですが。  ちなみに、perl は、Active Perl です。 どなたか、わかる方がおられましたら、ご教示願います。

  • 【DreamWeaver】一括インデントで無駄なtabが入る

    【DreamWeaver】一括インデントで無駄なtabが入る DreamWeaverCS4(Win-XP)使用者です。 何十行もあるコードに一括でインデントを入れたい場合は テキスト > インデント にて挿入しています。 しかしながら、何もない行にも無駄なtabが挿入されるためいちいち手作業で削除しています。 これを防ぐ方法はないものでしょうか。 お詳しい方、よろしくお願いします。

  • Wordでタブの設定方法を知りたい

    Windows10、Word2019でテストを作りたいのですが、タブの設定について教えてください。 例えば、6文字間隔にタブを設定することは、「段落」→「インデントと行間隔」→「タブ設定」→「規定値」を6字にする、という設定でうまくいきました。しかし、 (1)   (2)   (3)   (4) と入力して、初めの(1)の前に1文字分スペースを入れたいのですが、そうすると(1)と(2)の間だけが5文字分になってしまいます。 (1)の前にスペースを入れて、その位置から6字分のタブを設定する方法を教えてください。

  • Emacs-Lispモードで、式が返す値を全て表示

    こんにちは。 Emacsは、Gnu Emacs for Windows 23.4 を使っています。 Emacs-Lispモードで、バッファに記述されている式を評価した時、その式が返す値が、ミニバッファに出力されます。 ところが、式が返す値が長すぎると、途中までしか表示されません。 例えば自分の環境だと、 (symbol-value 'load-path) という式を評価すると、ミニバッファには (nil "~" "~/My_Lisp_Programs" "c:/Emacs_for_Windows/emacs-23.4" "C:/Emacs_for_Windows/emacs-23.4/site-lisp" "C:/Emacs_for_Windows/emacs-23.4/../site-lisp" "C:/Emacs_for_Windows/emacs-23.4/lisp" "c:/Emacs_for_Windows/emacs-23.4/lisp/url" "c:/Emacs_for_Windows/emacs-23.4/lisp/textmodes" "c:/Emacs_for_Windows/emacs-23.4/lisp/progmodes" "c:/Emacs_for_Windows/emacs-23.4/lisp/play" "c:/Emacs_for_Windows/emacs-23.4/lisp/org" ...) という文字列が出力され、...以降が表示されません。 どうすれば、Emacs-Lispモードで、式が返す値を全て表示する事ができるのでしょうか? 何か御存じの方がいらっしゃれば、是非、情報を提供して頂きたく思います。 では、よろしくお願い致します。