11

Emacsについてはよくわかりませんが、グーグルした後、.emacsファイルを次のように編集しました。

(setq c-default-style "bsd" c-basic-offset 4)

私の目標は、4スペースのタブでオールマンスタイルのインデントを取得することでした。期待どおりに機能しますが、//コメントがコードでインデントされなくなりました。これを変更する前に、と//入力すると、関数内の残りのコードと一致するように自動インデントされていました。//Emacsにコメントを自動インデントさせるにはどうすればよいですか?

c-indent-comments-syntactically-p 1上記のファイルに追加しようとしまし.emacsたが、変更されませんでした...

例えば:

int main()
{
    // I'd like this line to be auto-indented to match the block
    for (int i = 0; i < 10; ++i)
    {
        // And this line to be auto-indented to match the block
        doStuff();
    }
}

現在、コメントをTABインデント//しません。また、自動的にインデントしません。

4

3 に答える 3

8

関連する線にポイントを置き、を押すと、現在のインデントの値を調べて変更できますC-c C-o。関連する記号をお好みに合わせて調整してください。

これは永続的ではありません。で関数を直接呼び出して、グローバルに変更を加えますc-set-offset.emacs

簡単な例:

int main() {
  // 
}

これは私のデフォルトのインデントです。カーソルを2行目に移動すると、関連する記号が。であることがわかりますcomment-intro

使用:

(c-set-offset 'comment-intro 6)

私は得る:

int main() {
        //
}

オフセットはシンボル間で累積されます。

int main() {
        //
  {
          //
  }
}
于 2012-11-26T21:47:11.103 に答える
1

TABを押すと、コメント行がインデントされますよね?次に、欠落しているのは、自動インデントをトリガーするダブルスラッシュの自動認識です。これは(c-electric-slash)によって実装されます。まず、スラッシュがまだそのコマンドにバインドされていることを確認してください:( C-h k /キーストロークスラッシュのヘルプ)。次に、c-electric-slashのドキュメントが表示されたと仮定して、それを読んで、どのような条件下で禁止されているかを把握します。

于 2012-11-26T21:54:47.850 に答える
0

コードスコープの同じ配置にコメントを付けたい場合は、次の行を〜/.emacsファイルに追加するだけです。

(c-set-offset 'comment-intro 0)
于 2015-02-04T08:58:20.790 に答える