如何在Emacs中的.F90文件中突出顯示浮點數和整數?在我的版本24.4.1中,浮點數和整數之間沒有區別。我怎樣才能以不同的顏色顯示它們?如何在Emacs中的.F90文件中突出顯示浮點數和整數?
回答
我張貼了這個問題,兩個星期前,現在我有我自己的解決方案,因此,我在這裏張貼爲別人誰可能遇到同樣的參考。
首先,我很想感謝@Justin回答之前,並建議highlight-number-mode
。他的解決方案可能是工作的。但是,我有一個稍微複雜的要求,所以我決定以不同的方式做。另外,我不得不承認我是編程的初學者。所以,你可能會在我的代碼中找到一些愚蠢的行。如果您認爲有更好的方法,請隨時通知我。
這是我的解決方案。
安裝在Emacs
highlight-number-mode
和parent-mode
。 (第一個是第一個。)在我的情況下,它們安裝在/~/.emcas.d/elpa/
下。據我所知,原始
highlight-number-mode
不支持f90-mode
,它通過改變喜歡的顏色來同等地突出顯示所有數字(例如2,3,4,8e-2)。這不符合我的要求。具體來說,我只想突出顯示浮動數字,並且我在.f90腳本中將它們表示爲2.或.5。在Fortran 90中,浮點數和整數有不同的分割規則。所以,我希望以不同的方式將它們可視化,以減少引入此類錯誤的風險。因此,我改變了源代碼以下部分(highlight-numbers.el
):
(defconst highlight-numbers-generic-regexp (rx (or "." (? (and symbol-start digit symbol-end) "." (* digit)))) "Generic regexp for number highlighting. It is used when no mode-specific one is available.") (defvar highlight-numbers-modelist (copy-hash-table (eval-when-compile (let ((table (make-hash-table :test 'eq))) (puthash 'f90-mode (rx (or "." (? (and symbol-start (or (and (+ digit) (? (or "." "e" ".e" "E" ".E")) (+ digit)) (and (+ digit) (? (or "e-" ".e-" "E-" ".E-")) (+ digit)) (and (+ digit) "." (+ digit) (? (or "e" "E")) (+ digit)) (* digit)) symbol-end) "." (* digit)))) table)
如果你比較與原來的由Fanael Linithien上面的代碼,你會發現,我已經添加了兩個"."
。正如Fanael所說(在私下討論中),這可能是由於"."
被認爲是emacs中f90模式的標點符號。所以,我必須相應地修改正則表達式和表格。
一旦上面的已經完成,我放線
(add-hook 'f90-mode-hook 'highlight-numbers-mode)
在我經由ELPA加載此包。後來,在我的代碼彩車將被突出顯示,如
而且你可以看到在浮點數和整數的區別。
最後,我補充說我已經使用了這個好幾天了。目前沒有問題發生。所以,我猜這是行得通的! :)
默認的emacs fortran模式不會區分浮點型和整型的字體。但是,您可以使用highlight-numbers
包(通過M-x package-list-packages
或https://github.com/Fanael/highlight-numbers)。
以下內容添加到您的.emacs
突出花車(改變前景色和背景色,你認爲合適:。
(add-hook 'fortran-mode-hook 'highlight-numbers-mode)
(add-hook 'after-init-hook
(lambda()
(puthash 'fortran-mode
(rx (and symbol-start
(? "-")
(+ digit)
"."
(+ digit)
(*? any)
symbol-end))
highlight-numbers-modelist)
(set-face-attribute 'highlight-numbers-number nil
:foreground "gray60" :background "black")))
- 1. 顯示整數和整數浮點數作爲浮點數
- 2. 如何在python中顯示整數作爲浮點數
- 3. 在QPlainTextEdit對象中顯示整數和浮點數
- 4. 在emacs中突出顯示的Python
- 5. 在emacs字符串中突出顯示「」
- 6. 在emacs中突出顯示julia代碼
- 7. 突出顯示emacs中的行
- 8. 如何使浮點數在awk中浮點整數
- 9. 如何在delphi中顯示浮點數後點2個數字?
- 10. 如何突出顯示datagridview中的整行數據?
- 11. 如何在Emacs的lisp模式中突出顯示所有函數的名稱?
- 12. 顯示並不顯示浮點值中的點和小數?
- 13. Android顯示整數和浮點數的複數
- 14. C思維:浮點數與整數和浮點數表示法
- 15. 如何在Java中整數浮點數如果它的整體?
- 16. 如何從gfortran中的* .F90文件生成* .f90文件?
- 17. 如何爲Emacs文件設置語法突出顯示
- 18. 如何在Emacs配置文件中突出顯示雙重空格?
- 19. emacs magit diff突出顯示
- 20. Emacs區域突出顯示
- 21. 括號突出顯示 - emacs
- 22. 刪除Emacs突出顯示
- 23. 如何在java中搜索和突出顯示pdf文件
- 24. 如何在LLDB中顯示帶小數點的浮點值
- 25. Emacs括號和括號突出顯示?
- 26. 如何在Emacs緩衝區中突出顯示標籤?
- 27. Emacs文本模式突出顯示
- 28. 在圖表控件中突出顯示數據點
- 29. 如何用C中的多行浮點數和整數讀取文件?
- 30. 如何突出顯示Eclipse的Emacs鍵綁定中的選擇?
嗨賈斯汀,謝謝你的回答。我已經安裝了高亮數字模式和父模式。然而,把你在我的init.el中提出的建議給出了一個錯誤:「作爲變量的符號值是void:highlight-numbers-modelist」。 –
我也嘗試直接在highlight-numbers.el中添加fortran模式,然後手動啓用此包。但它仍然沒有區分浮點數和整數。他們一起變成了不同的顏色。你能解釋你在代碼中寫的是什麼嗎?提前致謝! –
我不確定把上面的代碼放在'init.el'中是否可行,我將它添加到了我的'〜/ .emacs'中。該錯誤表明'highlight-numbers'包尚未初始化。至於你的第二個評論,這可能意味着'highlight-numbers-mode'是活動的,但使用默認的模式匹配,高亮顯示浮點數和整數。我上面寫的代碼只會導致浮動顯示。 –