2010-11-24 5 views
5

テンプレート節の後にemacsが関数やクラスの名前をインデントしないようにする方法を知っている人はいますか?Emacsインデントテンプレートクラス/関数

Currentyが結果は次のとおりです。

私が持っていると思います
template <typename T> 
    class A { 
    /* ... */ 
    }; 

template <typename T> 
class A { 
/* ... */ 
}; 

はあなたの助けのためにありがとうございました。 C++のためのインデントスタイルとしてのJavaでのモード - 私はC++を使用してい

EDIT 1

(custom-set-variables 
;; 
'(c-offsets-alist (quote ((case-label . +) (innamespace . 0)))) 
+1

は、あなたがの.emacsで何かを書かれている:あなたの.emacsあなたが永続的に設定することができる命令の終わりに

?私はデフォルトであなたが求めるものを手に入れます。私はemacs -Qを始めました。 – vpit3833

+0

@ vpit3833状況をより明確にするために質問を編集しました –

答えて

8

class行に移動し、TABを押して(迷惑な)インデントを実行します。
はその後プレスENTERは、その後、あなたが(例えば0〜3)インデント数を変更することができますto display the indent mode for最上位-イントロcont`

はControl-Cコントロール-Oを押してください。

(c-set-offset 'topmost-intro-cont 0 nil) 
+0

^C^oをどうやって押しますか?ありがとう! – Beginner

0

私はあなたのモードが違いを生むと思います。どのモードで編集していますか?私はあなたがタグとしてc++を持っているので、C++モードを仮定します。インデントされたコメントを

template <typename T> 
class A { 
    /* ... */ 
}; 

を、しかしclass Aはインデントではない: - C++での私にとっては

、モード、それはこのようになりました。

+0

はい、私は 'C++モード'にあります –

3

EmacsのC++モードのインデントには、さまざまなスタイルがあります。 Quoting EmacsWiki

よく知られているCスタイルの部分的なリスト:

  • 「GNU」:何カーニハンとリッチー、Cの作者:GNUのデフォルトスタイルが
  • 「K & R」を投影し彼らの本で使用されている
  • "bsd":Eric Allmanの後に "Allman style"と呼ばれるBSD開発者が使用するもの。
  • 「Stroustrup氏」:何Stroustrup氏は、彼の本の中で使用されるC++の作者
  • の「Linux」:Linux開発者がカーネル開発のために使用するもの
  • 「パイソン」:Pythonの開発者が拡張モジュールに使用何
  • 「Javaの」:javaのモードのデフォルトスタイル(下記参照)
  • 「ユーザー」:あなたは

独自のスタイルを定義する場合c-default-style変数は、変更するために必要なものです。多分彼らのうちの1人があなたが必要とするものになるでしょう。今はEmacsを持っていないので、私はそれらをチェックアウトすることはできません。

+0

ありがとうございました。私はすでにC++のインデントスタイルとして* java *スタイルを選択し、 'c-offsets-alist'を使って名前空間用にカスタマイズしました。私はテンプレートのために同じことをする可能性があるかどうかを知りたいです。 –

0

チェックする異なる物事のカップル:

代わりにC++のCモードでのC++ .hファイルの編集時に、私は同様の問題を見てきました - モード。デフォルトでは、.hファイルはCモードであり、C++モードではありません。 [あなたのウィンドウの括弧の中の "C++"や "C"を探して調べることができます。] emacsを.emacsで以下のように使用して、.hファイルを常に開くように設定できます

(setq auto-mode-alist (append '(("\\.h\\'" . c++-mode) 
       ) 
        auto-mode-alist 
       )) 

もう1つは、c-default-styleの設定方法です。 「CCモード」の情報ページは、すべての可能性についてさらに詳しく説明しています。

関連する問題