Мне было интересно, есть ли способ сказать картуEmacs та же клавиатура другая команда
s-Y для двух разных команд.
Я думал, я хотел SY, чтобы открыть терминал в разделенном окне, которое было ниже, затем довести до Баш затем затем изменить фокус в новом окне, так
(defun bash-window()
(interactive)
(split-window-below)
(other-window 1)
(shell)
)
Затем с тем же команда завершает процесс оболочки, а un split нижнее окно - это способ, которым я могу это сделать с помощью lisp, похоже, что lisp не поддерживает состояние в emacs lisp programming .... если я не ошибаюсь в этом.
Я не знаю точно, как это сделать, но не было бы: привязать SY к Elisp функции А , который делает расщепление и прочее, а также повторно связывает sY для сопоставления функции B. Функция B закрывает разделение и возвращает sY обратно к функции A. .emacs инициализирует sY для функции A. – Dave
@Dave, это на самом деле действительно умный - я должен буду положить этот трюк в рукав в следующий раз! XD (Но серьезно, это круто.) –
;; исправить функцию обратной функции aka undo (defun bash-window() (глобальный-set-key (kbd "sY") 'bash-window-undo) (интерактивный) (с разделенным окном ниже) (другое -window 1) (оболочки) ) (DEFUN Баш-оконная отмена() (глобальный установить ключ (KBD "SY") «баш-окно) (интерактивное) (другое окно -1-) (delete-other-windows-vertical) ) –