반응형
emacs lisp, 버퍼 메이저 모드를 얻는 방법?
Google을 검색하고 매뉴얼을 보려고했지만 여전히 버퍼 객체의 주요 모드를 얻는 방법을 찾을 수 없습니다. 예나 참고 자료로 저를 도울 수 있습니까? 감사
내가 찾을 수있는 유일한 해결책은 버퍼를 변경 한 다음 원래 버퍼로 다시 변경 한 후 주 모드를 쿼리하는 것입니다. 더 나은 방법이 있습니까?
그것에 문제가 있습니까?
(defun buffer-mode (buffer-or-string)
"Returns the major mode associated with a buffer."
(with-current-buffer buffer-or-string
major-mode))
with-current-buffer
돌아올 때 버퍼를 복원합니다.
현재 버퍼의 경우 :
(message "%s" major-mode)
이를 수행하는 간단한 방법 은 버퍼 로컬 변수 buffer-local-value
이므로 함수 를 사용하는 것 major-mode
입니다.
(buffer-local-value 'major-mode (get-buffer "*scratch*"))
이전 답변에서 확장-인수없이 호출하여 현재 버퍼의 모드를 가져옵니다.
(defun buffer-mode (&optional buffer-or-name)
"Returns the major mode associated with a buffer.
If buffer-or-name is nil return current buffer's mode."
(buffer-local-value 'major-mode
(if buffer-or-name (get-buffer buffer-or-name) (current-buffer))))
예 : * 스크래치 * 버퍼 :
(buffer-mode) => 'lisp-interaction-mode
(buffer-mode "tasks.org") => 'org-mode
글쎄, describe-mode는 선택적 버퍼 인수를 사용하지만 도움말을 표시합니다 ... 그리고 그것이 무엇을 반환하는지 정확히 모르겠습니다 ...
하지만 그게 제가 간단한 검색에서 찾을 수있는 최고입니다 ... 죄송합니다 ...
간단히 평가하십시오.
(print major-mode)
참조 URL : https://stackoverflow.com/questions/2238418/emacs-lisp-how-to-get-buffer-major-mode
반응형
'programing' 카테고리의 다른 글
.net 개체의 크기 확인 (0) | 2021.01.18 |
---|---|
동영상 재생을위한 Android 의도? (0) | 2021.01.18 |
cx_freeze를 사용할 때 다른 파일을 어떻게 묶을 수 있습니까? (0) | 2021.01.18 |
제거하는 가장 쉬운 방법은 무엇입니까 (0) | 2021.01.18 |
오버플로 텍스트를 중앙에 배치 할 수 있습니까? (0) | 2021.01.18 |