Emacs

如何在 Emacs 中實現 vi 的 se ai

  • October 22, 2015

在 Emacs 中設置自動縮進的最簡單方法是什麼?我可以看到自動填充正確包裝,例如:

 This is an indented block, and the
 wrapping happens as expected.

另一方面,我得到了這種不需要的行為:

 This is an indented short line.
I'm now taken to the beginning of the
line.  I expected to be under the "T".

換句話說,我怎樣才能se ai在 Emacs 中獲得相當於 vi 的功能?

發表評論作為答案,所以這個問題有一個正式的答案……

簡短的回答是,對於“基本模式”中的緩衝區,執行M-x electric-indent-mode

Emacs 是模態的,每種模式都會選擇適合該模式的自動縮進類型。例如,如果您編輯文本文件,您將處於“文本模式”,預設情況下,行將自動尊重前一行的縮進。

當 Emacs 沒有為您正在編輯的緩衝區找到特殊的 a 模式時,它預設為“基本模式”。用於此的文件字元串是:

Major mode not specialized for anything in particular.
Other major modes are defined by comparison with this one.

許多模式處理自動縮進的方式是使用稱為“electic-indent-mode”的次要模式(次要模式是添加到主要模式如“基本模式”的變體)。

最後,正如評論中所指出的,Emacs Wiki有更多關於縮進的資訊。

引用自:https://unix.stackexchange.com/questions/144244