簡體   English   中英

添加emacs主要模式的功能

[英]Add functionality to emacs major mode

我寫了一個elisp函數和一些defvar用於交互式添加boost單元測試宏。 由於它與Boost一起使用,因此只需要在c ++模式下使用它。 目前它位於我的init文件中,因此它始終在每種模式下加載。

我該怎么做才能使這個功能只在c ++模式下可用,就像我把它添加到主模式本身一樣。

如果您希望只在需要時加載您編寫的代碼,可以將其放入自己的文件中(比如boost-unit-test.el ),然后從.emacs添加:

(eval-after-load "cc-mode" '(require 'boost-unit-test))

注意,這假設文件在您的load-path並且(provide 'boost-unit-test)作為其中一行。

現在,一旦加載了這個文件,那些變量和那些命令就全局定義了,這就是Emacs的方式。 這與您在.emacs文件中保留代碼的情況沒什么不同。 並且,無論哪種方式,它只會被加載/評估一次(除非你強制它加載多次 - 但你必須努力這樣做)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM