你看到的'按鈕'實際上只是帶有一些字體技巧的文本,以使它們看起來像是被擡起或'裝盒'。完全擺脫它們可能有點棘手,但你應該能夠刪除它們中的大部分。
Emacs使用(在某些地方)繼承方法來定義'faces',這意味着有時您可能需要找到父表面來修復它的外觀。這些面具有下劃線和框等屬性。例如,以下是我的系統上「按鈕」面的定義。
Hide Button face: [sample]
State : THEMED.
Default face used for buttons.
[ ] Font Family: --
[ ] Font Foundry: --
[ ] Width: --
[ ] Height: --
[ ] Weight: --
[ ] Slant: --
[X] Underline: Value Menu On:
Color: Value Menu Foreground Color
Style: Value Menu Line
[ ] Overline: --
[ ] Strike-through: --
[ ] Box around text: --
[ ] Inverse-video: --
[ ] Foreground: --
[ ] Distant Foreground: --
[ ] Background: --
[ ] Stipple: --
[ ] Inherit: --
Hide Unused Attributes
這裏是
Hide Custom Button face: [sample]
State : THEMED.
Face for custom buffer buttons if ‘custom-raised-buttons’ is non-nil.
[ ] Font Family: --
[ ] Font Foundry: --
[ ] Width: --
[ ] Height: --
[ ] Weight: --
[ ] Slant: --
[ ] Underline: --
[ ] Overline: --
[ ] Strike-through: --
[X] Box around text: Value Menu Box:
Width: 2
Color: Value Menu *
Style: Value Menu Raised
[ ] Inverse-video: --
[X] Foreground: #93a1a1 Choose (sample)
[ ] Distant Foreground: --
[X] Background: #073642 Choose (sample)
[ ] Stipple: --
[ ] Inherit: --
Hide Unused Attributes
說明這兩個面使用下劃線和箱屬性的定義。
你需要做的是改變屬性,使面部不會導致你的眼睛流血。有兩種方式(實際上更多,但兩種方式很容易描述!),你可以做到這一點。
M-X列表面顯示
列表面顯示是 「faces.el」互動編譯Lisp函數。
這是必然的。
(列表面顯示&可選REGEXP)
列出所有的面,使用每一個相同的樣品的文本。示例文本是 一個來自變量'list-faces-sample-text'的字符串。
如果REGEXP非零,只列出名稱與此 正則表達式匹配的面。當用前綴參數交互調用時, 使用'read-regexp'提示使用正則表達式。
和MX定製面(點必須是你要自定義的臉或你需要知道它的名字)
定製面是一個交互式自動加載編譯Lisp函數在 'cus-edit.el'。
這是必然的。
(自主面&可選FACE OTHER-WINDOW)
定製FACE,這應該是一個面的名稱或爲零。如果FACE爲零,則 自定義所有面。如果FACE實際上是一個臉部別名,則自定義 臉部,這是別名。
如果OTHER-WINDOW非零,則顯示在另一個窗口中。
交互式地,當點在具有指定面的文本上時, 建議自定義該面,如果它是可定製的。
我的建議是使用list-faces-display並遍歷列表來識別那些你不喜歡的面,然後將它們改爲可以接受的東西。這應該得到他們大部分。然後,當使用emacs時,當您發現另一個「按鈕」時,您可以將光標放在它上面並使用自定義面板來更改它。
請注意,加載主題也可能會更改面部設置,因此您可能需要獲取正確的順序以獲得一致的行爲。
您還在哪裏看到除了您說的框架頂部的工具欄上的按鈕已被刪除之外的其他按鈕?你是在談論「M-x自定義」還是除緩衝區中純文本編輯以外的其他內容? – lawlist
例如,如果我切換我的主題,我看到按鈕「搜索」「恢復...」,「應用」等作爲真正的按鈕,而不是像「[Search]」(setq custom-raised-buttons nil)「 – FatalError