2012-11-07 18 views
1

例如,當我寫如何讓emacs的不格式化接近括號(保持它的縮進)

fixlocale() { 
    export LANG='en_US.UTF-8'; 
    export LC_CTYPE='en_US.UTF-8'; 
} 

,並添加不用縮進右括號,但我不喜歡它,我想縮進右括號:

fixlocale() { 
    export LANG='en_US.UTF-8'; 
    export LC_CTYPE='en_US.UTF-8'; 
    } 

不只在bash中,我想在C,C++中的任何地方縮進左括號。我如何告訴emacs縮進右括號以及代碼。

+0

(c-set-offset'substatement-close'+),這是否適合您?我現在沒有機會嘗試,我只是把它扔在那裏。 –

+0

不起作用,看起來像。 – Cynede

回答

1

在C來得到這個工作我做了

(c-set-offset 'substatement-open '+) 
(c-set-offset 'defun-open '+) 

這它告訴縮進,像if,而對於....並且第二,它告訴縮進函數定義,以及(不當然,如果你想要陳述或功能,所以我給了兩個)。

+0

謝謝,bash和其他什麼? – Cynede

+0

@Ash似乎無法找到一種方法在bash中完成它。大括號在emacs(對於shell腳本)中似乎沒有語法上下文,並且設置爲默認縮進(至少對於函數,對於語句sh-indent-after-open似乎適用於其他某些內容)。 –

0

在Shell腳本模式下,默認情況下,來自最後一個分號的C-j將根據請求進行換行和縮進。

如果已經在該行並且在錯誤的縮進處,那麼命令'electric-brace'可能會執行此操作。這很容易實現:基本上是一個(插入「}」),然後是(縮進相對)

+0

'(indent-according-to-mode)'會將右大括號縮回到第0列。 – Thomas

+0

確實,這是一種特質。它應該像縮進相關的那樣行事。更正了我的答案,謝謝。 –

相關問題