現在のメジャーモードを記述するファイルを開く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ファイルになります。それを検出して最終文字を切り落とすことができますが、gzippedファイルも処理する必要があります。幸いにも、Emacsはgzippedファイルを透過的に開くことができるので、次のようなものが基本的に動作するはずです。私はそれをタイプインし、それを1つか2つのモードでチェックしましたが、基本的にはテストされていないと考えます。
(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のJavascriptメジャーモード
- 2. Emacs Lispメジャーモードのデバッグ
- 3. 編集現在のデータ
- 4. emacsメジャーモードをリロードするには?
- 5. Emacsでメジャーモードのマイナモードに入る
- 6. Emacsファイルの編集履歴
- 7. PythonをEmacsで編集する
- 8. Emacsメジャーモードへのプリプロセッサの追加
- 9. メジャーモードのリロードなしでemacsのフォントロックキーワードを更新する
- 10. 省略モード(Emacs)のメジャーモード間の略語を共有する
- 11. Emacsでメジャーモードのグローバルマイナーを永久に無効にする
- 12. emacsを使ってピコスタイルのCファイルを編集する
- 13. emacsの現在のファイルを "タッチ"
- 14. LinuxからWindows上のリモートファイルを編集するEmacs tramp
- 15. 表示し、現在の日付の保存/編集スパン(angularjs)
- 16. DataGridで編集する際に現在の値を保持する - Adobe Flex
- 17. 現在のemacsセッションでLispBoxを開く
- 18. 画像編集用SDKは現在Android用です
- 19. Emacs rubyメジャーモードを更新しています
- 20. RadGridは現在の編集項目をデータソースに挿入した後に編集します
- 21. Emacsを使ってGooglePLus投稿を編集する
- 22. Watinを使用して現在のブラウザでURLを編集する方法
- 23. 現在のフォルダ内のファイルをループして編集するVBAスクリプト
- 24. Googleドキュメントには現在編集中の共同編集者の数が表示されます
- 25. Emacs現在のローカルキーマップの名前?
- 26. cakephp formhelper:編集時に入力ファイルから現在のファイルを取得する
- 27. Emacsインデント/インデント解除現在の行
- 28. Eclipse - 現在編集されているファイルのタスクのみを表示
- 29. Wordpress、ホームページの編集を編集する
- 30. emacsでI検索語を編集しますか?
'C-h m'ですが、それはあなたがしたいことを全くしません。 – doublep
個人用の独自のメジャーモードフックを作成する必要があります。 emacsに付属のelispファイルを編集することはお勧めできません。これは、emacsをアップグレードするときに変更が失われるためです。 – Tom