2

マイナーモードに加えて、いくつかの関数を明示的に呼び出すことができるようにするemacsマイナーモードを作成しました。モードのファイルで、モードと関数を定義した後、モードを設定しましprovideた。

(provide 'xcode-dired-mode)

これ、私の.emacs中でrequire

(setq load-path (cons "~/Documents/Local Projects/xcode-emacs" load-path))
(require 'xcode-dired-mode "xcode-dired")

バッファがこのモードになっているときに、いくつかの追加機能を使用できるようにしたいと思います。私defunがマイナーモードのlispファイルの関数である場合、次のようになります。

(defun xcode-build()
  "Build the default target in the Xcode project."
  ;; ...
  )

関数はファイルの外部では使用できません。たとえば、機能しませんM-x xcode-build。ですべてのファイルを作成する必要はないのでprovide、ファイルを作成するのは適切ではないと思います。私は魔法のコメントを見てきましたが、私が知る限り、それはemacs自体をコンパイルするときにのみ使用されます。require.emacs;;; ###autoload

マイナーモードがバッファに適用されるときに、モードのlispファイルで定義された関数を使用できるようにするにはどうすればよいですか?

4

1 に答える 1

3

xcode-build経由で呼び出すには、関数の実装が特殊な形式を呼び出して、関数が対話的に呼び出し可能であることを宣言するM-x必要があります。interactive

これは関連するemacsのドキュメントだと思います:

http://www.gnu.org/software/emacs/manual/html_node/elisp/Using-Interactive.html

http://www.gnu.org/software/emacs/manual/html_node/elisp/Interactive-Call.html

于 2012-04-28T21:08:49.250 に答える