команда eval на другой буфер в Emacs - PullRequest
2 голосов
/ 18 февраля 2011

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

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

1 Ответ

4 голосов
/ 18 февраля 2011

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

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

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

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

...