다른 답변은 내 필요를 충족시키지 못했습니다. 그래서 이것은 다른 사람들을 도울 것입니다. 내가 이블의 정상 모드 (기본적으로 :이 의미는 도처에 이맥스에서을 의미한다)에서 라인의 시작 부분으로 건너 뛰고 싶었지만 org-mode에 있다면 org 항목 사이를 순환하려고했다. 문서.
버퍼를 전환 할 때마다 별개의 바인딩과 상수 바인딩 재 바인딩을 사용하는 것이 하나의 옵션이었습니다. 왜냐하면 악의 경우 정상적인 상태에서 키당 하나의 바인딩 만 허용하기 때문입니다.
하지만 더 효율적인 옵션은 현재 버퍼가 사용하는 주요 모드를 기반으로 필요한 기능을 실행하는 내 코드를 Tab
이 실행하도록하는 것이 었습니다. 그래서 내가 org 버퍼에 있다면,이 코드는 org-cycle
을 실행하고, 그렇지 않으면 evil-first-non-blank
을 실행합니다 (줄의 첫 번째 공백이 아닌 문자로 이동).
여기에 사용 된 기술은 일반적인 악의없는 이맥스를 사용하는 사람들을 위해 global-set-key
을 통해 사용자 정의 함수를 호출하여 사용할 수도 있습니다.
Emacs lisp를 모르는 사람들은 "if"문 다음의 첫 줄이 참 조치이고 그 이후의 줄은 거짓 작동입니다. major-mode
가 org-mode
동일 그래서, 우리는 그렇지 않으면 우리는 다른 모든 모드에서 evil-first-non-blank
을 실행 org-cycle
실행
(defun my/tab-jump-or-org-cycle()
"jumps to beginning of line in all modes except org mode, where it cycles"
(interactive)
(if (equal major-mode 'org-mode)
(org-cycle)
(evil-first-non-blank))
)
(define-key evil-normal-state-map (kbd "<tab>") 'my/tab-jump-or-org-cycle)
더 많은 나 자신이 도움을 이맥스 위키에가는 찾을 : http://www.emacswiki.org/emacs/KeyBindingDiscussion 모드 키 맵에 키 바인딩을 추가 할 수 있고 그 맵을 찾는 f}을 보여줍니다. – drysdam
Yepp ... 이미 그걸 보았습니다.하지만 Symbol의 값은 변수로 항상 무효입니다 : LaTeX-mode-map'. 음 ... – aL3xa