用于C代码的多级嵌套的Emacs缩进

时间:2013-01-03 09:28:55

标签: c emacs indentation

我对emacs完全不熟悉(主要是使用vim和eclipse / netbeans等)我正在使用C级代码的多级嵌套,并在emacs中编写了一个示例代码来测试它如何缩进代码嵌套的方式也是如此深(虽然不是现实代码)。

int foo()
{
    if (something) {
        if (anotherthing) {
            if (something_else) {
                if (oh_yes) {
                    if (ah_now_i_got_it) {
                        printf("Yes!!!\n");
                    }
                }
            }
        }
    }
}

这看起来和我在emacs中输入并保存它完全一样。但是在另一个文本编辑器上打开它显示实际保存的文本是:

int foo()
{
    if (something) {
    if (anotherthing) {
        if (something_else) {
        if (oh_yes) {
            if (ah_now_i_got_it) {
            printf("Yes!!!\n");
            }
        }
        }
    }
    }
}

所以我想知道在emacs中是否有任何方式以实际显示的方式保存文本?

我当前的c-default-style设置为“linux”。

编辑:

好吧,我正在使用Notepad ++ / Vim查看emacs保存的文件,它显示“错误”缩进,但看起来像打开好旧记事本(甚至做一个cat file.c)显示正确的缩进由emacs显示。将尝试这里提到的其他方法。谢谢!

1 个答案:

答案 0 :(得分:3)

尝试使用空格而不是制表符进行缩进。将以下内容添加到init.el:

(setq-default indent-tabs-mode nil)

这将使所有缓冲区默认使用空格。您需要为makefile添加以下例外:

(add-hook 'makefile-mode-hook (lambda () (setq indent-tabs-mode t)))