在emacs文件中打開.txt文件並按下標籤並不總是給出相同的結果。某時4,以及某些時候按下標籤顯示2.emacs中的選項卡行爲
同樣的事情也發生在.c/.cpp文件中。
這是emacs 24.2的一項功能嗎?
如何獲得一致性標籤寬度?
在emacs文件中打開.txt文件並按下標籤並不總是給出相同的結果。某時4,以及某些時候按下標籤顯示2.emacs中的選項卡行爲
同樣的事情也發生在.c/.cpp文件中。
這是emacs 24.2的一項功能嗎?
如何獲得一致性標籤寬度?
當你按下TAB鍵,根據光標的模式和位置,emacs會嘗試縮進該行(在你調用.txt的文件中,只有在開始行的時候,在它會插入一個製表符或空格直到下一個製表符,這取決於您的偏好)。
縮進是相對於你所在行前面的行。所以你會看到按Tab鍵並不總是插入相同數量的空格(或製表符)。這是一個功能。如果你願意,你可以綁定你的Tab鍵做一個不同的事情(插入一個製表符或固定數量的空格),但你會失去非常有用的功能。
您應該使用變量indent-tabs-mode
,tab-width
和c-basic-offset
來讓emacs的行爲如您所願。
例如:
(setq-default c-basic-offset 4
tab-width 4
indent-tabs-mode nil)
如果你喜歡使用txt文件,.c和.cpp文件4位(可能需要額外的模式,像nxml額外的變數,但我現在不你還有什麼用)。
任何可以在特定時刻暫時覆蓋此選項卡行爲的方法。 – dearvivekkumar
不知道我是否理解這個問題... C-q C-i是插入一個製表符(或空格)而不嘗試縮進的簡單方法。 – juanleon
我仍然在尋找那些從未被咬過的人使用'tab-width'。在一些罕見的情況下,這確實是你想要的,但這些很少見。 – Stefan
Emacs的-Q:「製表寬度在`C源代碼」中定義的變量 它的值是8
自動成爲緩衝本地設置時 。」
哪個IMO是一個有用的行爲,因爲編程模式將採用不同的風格,以不同的方式進行設置,所以重要的是能夠改變它。
在Python中,例如4的製表符是很常見的。
做一些搜索/閱讀。 Emacs中的縮進比較複雜。現有的許多S.O.問與答以及Emacs Wiki上的大量信息。 – phils