커맨드 A에 연결하여 A가 실행 된 후에 B가 항상 호출되도록 할 수 있습니까?Emacs : 커맨드에 커스텀 후크 정의
3
A
답변
10
나는 이것을 달성하는 가장 직접적인 방법이 advice을 사용하는 것이라고 생각합니다. 당신의 라인을 따라 뭔가를 할 것이다 :
(defadvice command-A (after b-after-a activate)
"Call command-B after command-A"
(command-B))
이 접근 방식은 명령-A가 재정의 될 때에도 작동하는 장점이있다. 그러나 매크로 나 C 코드에서 호출 된 기본 함수에서는 작동하지 않습니다. 그러나 실제로 이러한 기능에 대한 조언은 거의 없습니다.
처음에는 command-A
을 호출 한 다음 command-B
을 호출하는 새로운 명령 (command-C
)을 정의하는 것이 가치가 있습니다.
symbol function indirection으로 놀고 새로운 명령을 쓸 수도 있습니다.
당신이 해결하려고하는 대상에 따라 다릅니다.
;; This is the original function command-A
(defun command-A() (do-it))
;; This call will cause (do-sometihng-after-command-A) to be called
;; every-time (command-A) is called.
(defadvice command-A (after after-command-A)
(do-something-after-command-A))
;; Enable the advice defined above
(ad-activate 'command-A)
이 더 많은 정보와 예제 기능을 알리는 정보 노드 (elisp)를 참조하십시오 :
3
당신은 함수를 사용 defadvice 조언을 할 수 있습니다.
관련 문제
- 1. 슬랙에서 커스텀 커맨드에 대한 타임 아웃에 도달했습니다.
- 2. emacs 커스텀 C++ 컴파일 지원
- 3. android에서 커스텀 유니버설 리스너/후크
- 4. django의 커스텀 관리 커맨드에 인수로서 부정적인 값을 건네기
- 5. Prestashop 사용자 정의 후크
- 6. Emacs 명령의 정의 열기
- 7. Wordpress 사용자 정의 후크 주제에 대한
- 8. 이맥스 : .emacs 파일에서 커스텀 변수를 정의하고 초기화하는 방법
- 9. Mvc3 사용자 정의 이벤트 후크
- 10. 커스텀 엔티티와 사용자 엔티티 사이의 많은 관계가 후크
- 11. Emacs (대화식) 파일 입력에서 탭 완성을위한 후크? 이맥스에서
- 12. emacs jabber 알림 사용자 정의
- 13. 이맥스 커스텀 쉘 커맨드
- 14. mysql 커스텀 글로벌 정의 변수
- 15. 단일 커맨드에 대해 Hibernate 자동 커밋 (autocomommit)
- 16. Drupal 후크 변경 후크 유효성 확인
- 17. Wordpress에서 사용자 정의 후크 추가 작업
- 18. 왜 사용자 정의 후크 기능이 업데이트에서도 작동합니까?
- 19. svn에서 사용자 정의 사전 커밋 후크?
- 20. 사용자 정의 후크 : 가상 함수 또는 이벤트?
- 21. 인턴 JS - 테스트 정의 이전의 비동기 후크?
- 22. 후크
- 23. 커스텀 윈도우의 유니티 커스텀 인스펙터
- 24. 커스텀 위젯의 커스텀 onClickListner - 어떻게?
- 25. 후크 후크 절차에 대한 액세스
- 26. 후크를 서로 결합하십시오 (후크 후크)
- 27. SVN을위한 대안 커밋 후크
- 28. github에 커밋 메시지 후크
- 29. Emacs speedbar 파일 표시기 사용자 정의
- 30. Emacs 모드에 따른 사용자 정의 배경색
평가하기 전에 함수에 "조언"을 할 수 있습니까? – PascalVKooten
@Dualinity 예, 정의에서'after'를'before' (또는'around')로 대체합니다. 실제로 명령 (대화 형을 사용합니다)인데 상호 작용하는 부분의 작동 방식을 변경하려는 경우 조언에 '상호 작용'이 있는지 확인해야합니다. 자세한 내용은 조언 링크를 확인하십시오. 그리고 조언 라이브러리 자체의 주석에있는 "튜토리얼"을 확인하십시오 ('M-x find-library advice RET'). –