0

タブサイズに問題があります。いつも2文字ですが、4文字欲しいです。

私のコード:

(defun my-c++-mode-hook ()
    (set (make-local-variable 'compilation-parse-errors-filename-function)
  'process-error-filename)
    (local-set-key (kbd "C-c b") 'compile)       ; KBD
    (setq compile-command "scons")
    (setq indent-tabs-mode nil)
    (setq tab-width 4)
    (setq c-basic-indent 4)
    )
(add-hook 'c++-mode-hook 'my-c++-mode-hook)
(add-hook 'c-mode-common-hook 'my-c++-mode-hook)

それで。私がタイプしているとき:

void f() {
  // Here I need 4 chars but I'm getting only 2 when I'm pressing TAB
}
4

2 に答える 2

1

私が投稿で見つけた正解:

(setq c-basic-offset 4)

しかし、私はまだ(setq c-basic-indent 4)が何のためにあるのか、そしてなぜインターネットでそれを使用するための多くの提案があるのか​​理解していません。

于 2013-03-25T22:08:16.683 に答える
1

basic offset他のインデントがそれに基づいていることを意味します。それで、

for () {
....if () { // 4 spaces
........ // 8 spaces
....}
}

GnueEmacsを引用するには

このスタイル変数は、インデントレベル間の基本的なオフセットを保持します

したがって、次のことはできません。

for () {
....if () { // 4 spaces
...... // 6 spaces
....}
}

しかしもちろん、必要に応じてそれを行うことができます。

そして通常、タブの代わりにスペースを使用することをお勧めします。

(setq-default indent-tabs-mode nil)

M-x untabify特定のバッファに対してこれを行うために使用します。

于 2013-03-25T22:12:54.467 に答える