나는 부 모드와 함께 명시 적 호출을 위해 일부 기능을 사용할 수 있도록 emacs 부 모드를 작성했습니다. 모드의 파일에서 모드와 기능을 정의한 후, 나는 provide
D에게 모드를했습니다 :이맥스 모드에서 모드 파일 외부에서 사용할 수있게 만들기
(provide 'xcode-dired-mode)
에있는 내 .emacs
I require
:
(setq load-path (cons "~/Documents/Local Projects/xcode-emacs" load-path))
(require 'xcode-dired-mode "xcode-dired")
버퍼이있는 자 모드에서 사용할 수있는 몇 가지 추가 기능이 필요합니다. 내가 좋아하는 마이너 모드의 혀짤배기 파일의 기능, defun
경우
(defun xcode-build()
"Build the default target in the Xcode project."
;; ...
)
을 기능은 예를 들어, 파일 외부에서 사용할 수 없습니다 M-x xcode-build
이 작동하지 않습니다. 내가 provide
파일을 보내고 있다고 생각하지 않아요, 내가 require
의 모든 것을 .emacs
에 가지고 싶지 않기 때문에, 적절한 일이라고 생각합니다. 마법의 코멘트 ;;; ###autoload
을 보았지만, 이맥스 자체를 컴파일 할 때만 사용된다는 것을 알 수 있습니다.
어떻게 마이너 모드가 버퍼에 적용될 때 모드의 lisp 파일에 정의 된 함수를 사용할 수 있습니까?
: 파일이 인스턴스에서 require''에 의해 (로드 된 즉시로), 그 파일에 의해 정의 된 모든 정의 된 함수, 변수 등은 그 파일 외부의 코드에서 사용할 수 있습니다. – phils
';;; ### autoload' 주석은 다양한 패키지 관리자들에 의해서 사용될 것입니다 ('el-get'은 한 예이고,'package.el'도 그것들을 사용한다고 생각합니다). 따라서 다른 사람이 사용할 수 있도록 코드를 작성하는 경우 해당 자동로드 주석을 해당 정의에 추가하여 해당 패키지 관리자 중 하나를 통해 코드를 사용하는 모든 사용자가 자신의 자동로드 구성을 추가 할 필요가 없도록해야합니다. – phils