2014-09-03 58 views
1

問題是我希望Emacs保存標籤,當我將它們作爲標籤和空格輸入時,如果我將它們作爲空格輸入它們。但是編輯取代我的手動鍵入空格與標籤時的空格數達到amonut是在tab-stop-list定義,即當我鍵入Emacs用標籤替換空格

→func1() { 
    → →some_long_command_name -param1 -param2 \ 
    → →→→→→→→→→→→→→→→→→→→→→→→→-param3 -param4 

(其中標籤是   →和空間是)的Emacs使得

→func1() { 
    → →some_long_command_name -param1 -param2 \ 
    → → → → → → →→→→-param3 -param4 

如果選項卡長度發生變化,那麼會打破我想保留的縮進。

+0

Emacs不會像您所描述的那樣將空格轉換爲製表符。無論是你使用一些時髦的額外軟件包,還是你正在做的不是你描述的東西(例如你重新縮進代碼,也許?)。 – Stefan 2014-09-03 16:22:29

+0

@Stefan現在我認爲這可能是ebuild模式的錯誤。將嘗試與其開發者聯繫。 – tijagi 2014-09-03 16:44:49

回答

1

它在我看來好像你是在https://www.emacswiki.org/emacs/SmartTabs之後?

+0

是的。出於某種原因,我認爲我已經安裝了它。但事實並非如此。 – tijagi 2014-09-05 08:08:13

+0

雖然;我將永遠不會爲shell模式工作; _; https://github.com/jcsalomon/smarttabs/issues/11#issuecomment-10761636 – tijagi 2014-09-05 08:56:13

0

自定義選項indent-tabs-mode給出值nil。這會阻止Emacs將縮進空格轉換爲使用TAB字符。 SPC字符和TAB你輸入的字符仍然是這樣的。

然後,您將需要綁定密鑰TABself-insert-command或使用C-q TAB來插入TAB字符。這意味着您將丟失TAB鍵作爲縮進命令。或者,您可以將其他某個鍵綁定到插入TAB字符的命令,或者將除TAB之外的其他鍵綁定到TAB默認綁定的縮進命令。

+0

我不想失去自動縮進,我只想擺脫Emacs之後插入的東西。我認爲自動縮進和替換空格不應該相互依賴。我可以追溯到'indent.el'中的'indent-relative'函數,但我不知道elisp更深入:D – tijagi 2014-09-03 16:31:50