2017-02-11 54 views
0

我的標準字體是比例字體。當我編輯降價文件時,我希望所有以4或更多空格縮進的部分以等寬字體顯示。如何在代碼塊中設置monopaced字體?

我不使用任何特殊的降價模式。因此,如果我必須手動在當前緩衝區上切換該行爲,那我可以。雖然,我自己的*.md文件模式當然是需要的,但我不知道該怎麼做(如果這個問題超出範圍)。

是活躍的,我的模式是:

Enabled minor modes: Abbrev Auto-Composition 
    Auto-Compression Auto-Encryption Blink-Cursor 
    Column-Highlight Column-Number Desktop-Save File-Name-Shadow 
    Flyspell Font-Lock Global-Font-Lock Icomplete Line-Number 
    Menu-Bar Mouse-Wheel Shell-Dirtrack Show-Paren 
    Tooltip Transient-Mark 

回答

2

是的,你確實需要的模式,突出降價代碼。 (嘗試M-x package-install RET markdown-mode+ RET)如果您啓用了字體鎖定功能(我懷疑您擁有),那麼您最終的模式可能會爲降價提供語法高亮顯示。

現在,語法高亮僅僅是對使用的字體和顏色的更改。一旦啓用它,您可以通過導航代碼塊併發行M-x customize-face來自定義用於代碼的字體。我的減價模式有markdown-pre-face下的代碼塊;光標下的面部會默認選中。

我準備了一些截圖來顯示工作流程。確定emacs允許字體家族或代工廠使用的是一種黑暗魔法,我將它留給谷歌來了解更多關於它的信息。在linux系統中,曾經有一個叫做xfontsel的醜陋小幫手,您可以在其中預覽不同的字體系列和代工廠。

您可以在不保存的情況下應用更改而不保存任何內容,當事情看起來很好時,你可以在自定義模式下「申請並保存」。

screenshots of how to adjust font-face in Emacs

+0

'markdown-mode +'shows「(No matches)」。雖然'markdown-mode'會匹配。這種模式會「足夠」嗎?我想我已經在一段時間之前安裝了它(並且不太喜歡它)。 – towi

+0

@towi:我們需要的模式唯一的就是字體鎖定。你已經擁有的應該是足夠的。對不起,如果你不喜歡它,但某種模式必須打開才能發生特殊的字體鎖定。模式只是可修剪的代碼,只給出語法部分,但它有點高級。如果您對特定的模式有任何想要禁用的信息,請提出一個新問題! – progo

0

我會用部分,你可以做你所追求的說法不以爲然。你只能部分地做你以後的事情,這有點破解。

基本上,您可以爲不同的面設置不同的字體。因此,如果您想要以固定寬度字體顯示的文本具有不同的面部定義,則可以將字體從比例字體更改爲固定寬度字體。至少,這是理論。

不幸的是,結果往往比您希望的要少。

問題是,大多數模式沒有爲所有可能的字符定義面。面孔往往只用於使事情脫穎而出,這往往意味着什麼是特殊的模式 - 一個標題,一點語法等

問題將與他'默認面對 - 使用的臉當沒有指定其他臉部時。默認面孔不是特定於模式的。如果將默認面設置爲等寬字體,則該字體將在所有模式下使用,而不是在降級模式下使用「普通」字符。如果任何您在降級模式下的字體是成比例的,您會發現縮進中的對齊看起來不一致。根據你如何構建緩衝區內容,這可能會也可能不是問題。

個人而言,我放棄了在很久以前使用proportioanl字體作爲emacs下的默認字體,而是使用固定寬度的字體作爲默認字體,然後爲某些特定目的定義比例字體,例如org模式頭。

一些事情你可以嘗試這威力工作,將

  • 文件局部變量只是在降價filtes設置字體。我沒有嘗試過,但你可以使用文件局部變量。您可能會想要創建一個降價模板,將其設置爲新的降價過濾。

  • 使臉部變量緩衝區爲本地。您可能可以定義一個markdown-mode鉤子函數,它使face變量局部緩衝並將它們設置爲固定寬度的字體。

臉部定義可以使用繼承,所以從理論上說,如果所有的面孔使用從默認的臉繼承和你做一個文件中的局部變量或緩衝區局部變量設置缺省的臉,那麼所有其他的面孔應該繼承該定義,所以您不必爲緩衝區中的每個字體執行此操作。

+0

實際上,我得到了它的工作,並對結果感到滿意。正確,不是100%,足夠接近(例如,如果我在類似於URL的代碼塊中有某些東西,markdown-mode/fontlock會檢測它們並在代碼塊內部將它們格式化)。我在emacs中使用比例字體...哦,我不知道... 7年...現在,我很滿意。不過,我不做emacs魔術,只有小巧的魔術技巧。 'col-highlight-mode'和* multicursors *'mc/...'看起來有點顛簸,但我的大腦適應了它。 – towi

+0

如果它起作用並且足夠劃傷你的癢,那就更好了。我喜歡比例字體的更好看,但我的emacs大部分工作是與代碼和shell交互。像dired緩衝區或shell輸出失去對齊或代碼看起來奇怪的事情足以讓我堅持主要固定寬度。幸運的是,現在有一些更好看的固定寬度的字體。 –