У меня возникла проблема с выполнением личного макроса в другом сеансе в Emacs. Мне удалось создать макрос и выполнить его, но после того, как я хочу сохранить его для выполнения в другое время.Сохранить и выполнить макрос клавиатуры Emacs
Для этого я пишу этот код в ~/.emacs
(fset 'psTest
(lambda (&optional arg) "Keyboard macro."
(interactive "p")
(kmacro-exec-ring-item (quote ("^X2^X2^X2^X2" 0 "%d")) arg)))
но когда я называю макрос в другом файле [ M- x psTest ]
, Emacs не исполнения моих макросов, но пишет key
в моем файле
^X2^X2^X2^X2
все мои команды:
В терминале:
[email protected] $ emacs ~/.emacs
В emacs:
C-x ( C-x 2 C-x) C-x C-k n psTest M-x insert-kbd-macro [ENTER] psTest [ENTER] C-x C-c
В терминале:
[email protected] $ cat ~/.emacs : (fset 'psTest (lambda (&optional arg) "Keyboard macro." (interactive "p") (kmacro-exec-ring-item (quote ("^X2" 0 "%d")) arg)))
[email protected] $ emacs ~/test
В Emacs:
M- psTest
Теперь мой макрос [M- psTest] запись^X2 в моем файле вместо выполнения [^ X2], который разделить экран.
Где моя ошибка? Thanks
Я могу видеть, что вы правильно использовали 'insert-kbd-macro' для генерации кода. Я не понимаю, как вам удалось получить неправильную версию этого кода в файле инициализации. Конечно, если вы использовали команды emacs для копирования этого кода и вытащили его в ваш файл инициализации, проблем не было. Вы использовали какую-либо другую технику для копирования и вставки? Вы, конечно, не вводили его вручную? – phils
Да, мне это тоже интересно! –