2014-10-30 54 views
4

我有emacs版本25.0,我啓用prettify-symbols-mode,並鍵入(lambda() t),但它不會美化。我如何使用這種模式?還有哪些符號可用,以及如何配置它?任何參考值得讚賞。如何使用emacs prettify-symbols-mode?

編輯:沒有發生在scratch緩衝和Markdown模式,但是當我在Emacs-lisp模式嘗試,它沒有美化,但是現在我有一個問號,而不是拉姆達符號,我該如何解決呢?

編輯:我問了相關問題here

編輯:這個SO question解決了unicode問題。

+0

@克里斯,我固定的unicode的問題,看我的編輯請。 – user3995789 2014-10-30 20:46:31

回答

4

prettify-symbols-mode是緩衝區本地。如果要全局啓用它,請使用global-prettify-symbols-mode

您看到的問號可能是因爲Emacs找不到包含lambda字符的字體。嘗試切換到像DejaVu Sans Mono一樣體面的Unicode支持的字體。

我相信只有Lambda開箱即可,而且只有emacs-lisp-mode緩衝區。從prettify-symbols啓用的緩衝區中檢查prettify-symbols-alist的值,以查看當前的替換表。

如果要添加其他符號的prettification你可以做這樣的事情,從C-h f prettify-symbols-mode RET

(add-hook 'emacs-lisp-mode-hook 
      (lambda() 
      (push '("<=" . ?≤) prettify-symbols-alist))) 
+0

我嘗試過'global-prettify-symbols-mode',但它不起作用,我該如何配置這些符號以及有哪些符號可用,例如' - >'美化? \ 關於字體,我的終端已經使用了Dejavu Sans,並且我可以看到shell上的lambda,是否必須爲emacs設置字體,以及如何在\ 處做?我用我的終端mintty。 – user3995789 2014-10-30 16:08:47

+0

我如何自己插入一個lambda符號,並在emacs上測試這個unicode支持,例如我輸入'C-x 8 CCBB'並顯示'\ uCCBB',我希望它顯示希臘的lambda符號。 – user3995789 2014-10-30 16:11:05

+0

@ user3995789,看我更新的答案。要手動插入Unicode lambda,請嘗試使用「C-x 8 RET希臘小寫字母LAMBDA RET」。你應該能夠通過tab(或者Helm或者ido,如果你使用其中的一個)完成角色的名字。您也可以從包含正確的Unicode字符的文檔複製和粘貼。 – Chris 2014-10-30 16:15:38