簡體   English   中英

用於C代碼的多級嵌套的Emacs縮進

[英]Emacs indentation for multi-level nesting of C code

我是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的。 將嘗試這里提到的其他方法。 謝謝!

嘗試使用空格而不是制表符進行縮進。 將以下內容添加到init.el:

(setq-default indent-tabs-mode nil)

這將使所有緩沖區默認使用空格。 您將需要為makefile添加以下異常:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM