LINUX.ORG.RU

Keybinding, yasnippet и minor-mode EMACS

 ,


0

1

Привет.

Нужно сделать так, чтоб «раскрытие сниппета» выполнялось только по tab, но не по C-i.

Желаю переназначить на С-i previous-line(переход на строку вверх). Через global-key всё получается - курсор бежит вверх...
НО!
Но и на клавише tab теперь висит previous-line. Кроме того, если вдруг во время скроллинга курсор натыкается на ключевую фразу сниппета, то срабатывает indent-tab(yas-expand для плагина), который раньше висел на i и tab.

Я бывал в исходниках yasnippet и там пытался поменять везде, где tab. Я использовал инструкцию: http://ergoemacs.org/emacs/reclaim_keybindings.html
и вводил примерно следующее:

(require 'yasnippet) (define yas-mode-map (kbd "C-i")'previous-line)
, но видимо делаю что-то не то.

Есть подозрения, что нужно написать свой minor-key-mod, который будет в приоритете и в первую очередь - но я не умею совсем.
Прошу помощи. Спасибо.

Ответ на: just google it от anonymous

Спасибо. Всегда чувствую себя неловко, когда есть в гугле. Думаю проблема в гуглении на русском языке. Как-то по привычке.

fnl-3356
() автор топика
Ответ на: комментарий от fnl-3356

Заработал вот этот пример

(keyboard-translate ?\C-i ?\H-i) (keyboard-translate ?\C-m ?\H-m) ;; Rebind then accordantly: (global-set-key [?\H-m] 'delete-backward-char) (global-set-key [?\H-i] 'iswitchb-buffer)

остальные, почему-то всё равно тащили за собой tab

fnl-3356
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.