Emacs, org-mode, evil-mode - клавиша TAB не работает

Я работаю с VIM уже несколько десятков лет и довольно хорошо в нем разобрался. Однако меня как бы... соблазнил Emacs org-mode, и чтобы попробовать, я установил Emacs и Evil.

Зло удовлетворяет большую часть моей мышечной памяти, связанной с VIM, поэтому я продолжил тестирование org-mode и столкнулся с первой проблемой: когда я запускаю Emacs в отдельном окне (то есть emacs plan.org), тогда работает клавиша TAB, открывая и закрывая разделы моего плана. просто хорошо. Однако TAB ничего не делает, когда я использую Emacs в текстовом режиме (т.е. внутри моих XTerms, через "emacs -nw plan.org"). И это то состояние, которое меня больше всего интересует, так как я обычно работаю изнутри screen/tmux через соединения SSH.

Если это конфликт с Evil-mode, я не понимаю почему - я не знаю ни о каких функциях TAB в обычном режиме VIM (в котором мы находимся при открытии/закрытии разделов org-mode).

Любой Emacs-гуру там с предложением о том, почему это происходит?


person ttsiodras    schedule 05.04.2014    source источник


Ответы (3)


Пытаться

(setq evil-want-C-i-jump nil)

в вашем ~/.emacs до

(require 'evil) 

Зло есть, в evil-maps.el

(when evil-want-C-i-jump
  (define-key evil-motion-state-map (kbd "C-i") 'evil-jump-forward))

Это должно вернуть вам функциональность вкладки в организационном режиме.

person Brian Tiffin    schedule 07.04.2014
comment
Это очень злой функционал. - person Profpatsch; 17.07.2014

У меня почти нет опыта работы с терминалами. Однако я знаю, что TAB эквивалентен C-i. Может быть, тот пройдет через терминал? Если это сработает, вы могли бы добавить несколько привязок клавиш для каждой операции TAB?

Попробуйте также C-h k TAB, чтобы увидеть, отправлен ли TAB по проводу.

person fniessen    schedule 05.04.2014
comment
Пробовал C-i, ничего не сделал. Затем я попробовал C-h k TAB, но когда я нажимаю «C-h», я получаю сообщение «Начало строки», напечатанное в нижней строке — может быть, Зло перехватывает эту комбинацию клавиш? - person ttsiodras; 06.04.2014
comment
После дальнейшего исследования: вы, вероятно, имели в виду C-c C-i (извините, я довольно невежественен в вопросах Emacs), который действительно работает. Есть ли что-нибудь, что я могу добавить в свой .emacs, чтобы сопоставить «TAB» с C-c C-i при запуске под консолями? (XTerms и т. д.) - person ttsiodras; 07.04.2014
comment
вы можете сделать это: (define-key org-mode-map (kbd "<tab>") 'org-cycle). Действительно, TAB не работал в консоли (был привязан к злому прыжку вперед). - person Ehvince; 07.04.2014
comment
или попробовать (define-key org-mode-map (kbd C-i) 'org-cycle)? - person fniessen; 07.04.2014

 (define-key evil-normal-state-map (kbd "M-i") 'evil-jump-forward)
 (define-key evil-normal-state-map (kbd "M-o") 'evil-jump-backward)

Привязываю функцию к другим клавишам, так что тоже работает.

person FerrisEris    schedule 25.02.2019