是否有emacs命令打開描述當前主模式的文件?即時編輯語法突出顯示和縮進會很有用。編輯當前的emacs主模式
2
A
回答
6
(find-library (file-name-sans-extension (symbol-file major-mode)))
將打開它定義了當前主要模式的文件。這從字面上回答你的問題。
但是,您不應該「即時」編輯此文件。 Emacs中的自定義不是通過直接編輯庫源來完成的。相反,代碼在主模式鉤子或eval-after-load
塊中執行。
2
其他人可能會附帶一些預定義的功能,這些功能完全符合您的需求,但我不知道其中之一。你可以自己建立太很麻煩。
major-mode
被綁定的符號定義當前主要模式(symbol-file major-mode)
然後將路徑返回定義一個符號
但是該文件,它比這更復雜一點。最有可能的是,大多數主要模式都是從字節編譯的elisp文件加載的,因此您返回的路徑將轉換爲您不想打開的.elc文件。你可以檢測到並截斷最後的字符,但你也需要處理gzip文件。幸運的是,Emacs可以透明地打開gzip文件,所以下面的內容基本上可以工作。我輸入並在一種或兩種模式下進行檢查,但基本上認爲它未經測試。
(defun load-major-mode-file()
(interactive)
(let* ((loaded-file (symbol-file major-mode))
(root-el-file (if (string-match "\\.elc$" loaded-file) (substring loaded-file 0 -1) loaded-file)))
(if (file-exists-p root-el-file)
(find-file root-el-file)
(if (file-exists-p (concat root-el-file ".gz"))
(find-file (concat root-el-file ".gz"))
(message "couldn't open major-mode file.")))))
相關問題
- 1. Emacs tramp模式編輯中的密碼
- 2. 檢測Emacs中的當前主要模式(來自Lisp)?
- 3. Vim相當於emacs主模式標記
- 4. 在SublimeText3中編輯當前主題?
- 5. .emacs編輯以始終在終端模式下啓動Emacs?
- 6. Emacs Yaml編輯
- 7. 在主要編輯器中啓用Vim模式編輯器
- 8. 的Javascript在Emacs的主要模式
- 9. 用於編輯Emacs Lisp代碼的輪廓或摺疊模式
- 10. UITableView動畫當進入編輯模式
- 11. 當GridView的行處於編輯模式時,文本框不顯示當前值
- 12. Emacs的股票主要模式列表
- 13. 確定在Emacs路徑當前模式的源代碼23
- 14. 編輯當前流(Post)
- 15. 當DNN中的頁面未處於編輯模式時,使模塊可編輯
- 16. 如何編輯我當前的崇高文本2主題?
- 17. Emacs:在編輯模式中缺少顏色
- 18. 在Emacs中編輯方案 - 模式和鍵盤佈局
- 19. Emacs - 當我進入主要模式時,如何自動進入次要模式?
- 20. 編輯器模式
- 21. UICollectionViewCell - 編輯模式
- 22. JTable編輯模式
- 23. uitableview編輯模式
- 24. 在編輯模式
- 25. 如何僅以Emacs Haskell模式重新加載當前文件
- 26. Emacs「on-request」完成界面,用於編寫主要模式
- 27. 將功能添加到emacs主模式
- 28. Emacs:添加主機名到模式行?
- 29. 如何重新加載emacs主模式?
- 30. 調試Emacs Lisp主要模式
'C-h m',但這並不完全符合你的要求。 – doublep 2012-03-04 22:12:26
您應該創建自己的主要模式掛鉤以進行個人定製。不建議編輯emacs附帶的elisp文件,因爲升級emacs時,您的更改將會丟失。 – Tom 2012-03-05 06:59:13