2009-09-14 4 views
5

이맥스 정보 페이지에 따르면 다음과 같이 iswitchb-mode를 활성화하는 방법이 나와 있습니다 :이런 식으로 전환 모드를 시작하는 이유는 무엇입니까?

Iswitchb 모드를 사용하려면 M-x iswitchb-mode을 입력하거나 변수 iswitchb-modet

으로 사용자 정의하십시오. 내 .emacs :

(setq iswitchb-mode t) 

그러나 이것은 작동하지 않는 것 같습니다. emacs 위키를 검색 한 결과, 다음과 같이 사용해야합니다.

(iswitchb-mode 1) 

누군가이 방법으로 왜이 기능을 사용해야하는지 설명 할 수 있습니까? 장소에서 물건을 복사하여 붙여 넣는 것보다 elisp에 대해 더 잘 이해하고 싶습니다.

답변

8

일반적으로 모드는 변수와 함수가 같은 이름으로 정의됩니다. 이 함수는 호출 될 때 변수를 올바르게 설정하지만 변수 (모드의 상태 만 추적 함)가 아닌 모드를 켜는 함수입니다.

구체적인 경우에는 변수를 사용자 정의한다고 말했지만 대신 간단히 설정하십시오. 차이점은 변수의 값이 변할 때 커스텀은 뭔가를한다는 것을 알고`setq '는 이것에 대해 아무 것도 모른다는 것입니다. 이 변수에 대한 도움말 (C-h v iswitchb-mode)을 보면 다음과 같이 나타납니다.

iswitchb-mode is a variable defined in `iswitchb.el'. 
Its value is t 

Documentation: 
Non-nil if Iswitchb mode is enabled. 
See the command `iswitchb-mode' for a description of this minor mode. 
Setting this variable directly does not take effect; 
either customize it (see the info node `Easy Customization') 
or call the function `iswitchb-mode'. 

You can customize this variable. 
+0

감사합니다. 나는 elisp에 대해이 모든 것을 알지 못했다. –

+0

유감스럽게도 변수의 설명을 제외하고는 추론하기가 쉽지 않습니다. iswitchb (그리고 대부분의 마이너 모드)는 모드를 구성하고, 그것을 켜고 끄고, 변수, 키맵을 커스터마이징하는 실제 메커니즘을 다루기 위해'define-minor-mode '매크로를 사용하므로, 'define-minor-mode '자체의 함수 정의로이 물건들이 어떻게 결합되는지를 수집한다. –

관련 문제