Команда eval на другой буфер в Emacs

У меня сломан мета-ключ и я пытаюсь сделать Mx viper-mode в орг-файле.

Я хочу, чтобы elisp запускался (viper-mode) в файле example.org из чистого буфера.

1 ответ

Решение

В Лисп звони set-buffer переключиться на другой буфер для операций редактирования (это не влияет на то, с каким буфером взаимодействует пользователь).

(save-excursion
  (set-buffer "example.org")
  (viper-mode))

save-excursion Форма выполняет свои аргументы, а затем возвращается в исходный текущий буфер. Здесь вы можете использовать progn вместо этого, поскольку возврат к верхнему уровню восстанавливает текущий буфер. Но вам все равно нужно сгруппировать два вызова функций, и save-excursion это хорошая привычка.

Но обратите внимание, что ваша проблема в том, что ваш мета-ключ не работает, вы можете набрать Esc x вместо Meta+x (и аналогично для любого другого M-key комбинация).

Другие вопросы по тегам