我想知道是否有办法说地图
s-Y到两个不同的命令。
我以为我想让s-Y在一个较低的分割窗口中调出终端, 然后调出bash然后将焦点更改为新窗口
(defun bash-window ()
(interactive)
(split-window-below)
(other-window 1)
(shell)
)
然后使用相同的命令终止shell进程并且拆分下部窗口是否有一种方法我可以用lisp执行此操作,看起来lisp在emacs lisp编程中不保持状态....除非我对此不正确
答案 0 :(得分:2)
为什么不编写一个同时执行这两个操作的新函数,然后将其绑定?
Emacs Lisp(以及大多数Lisps)确实有状态,你只需要知道在哪里寻找它。 (这是CLisp与纯粹功能的最大背离。)例如,
(setq bash-window-active nil)
(defun bash-window nil
(interactive)
(if bash-window-active
(function-to-reverse-those-performed-below)
(progn
(split-window-below)
(other-window 1)
(shell)
(setq bash-window-active t)))
(global-set-key "\C-cb" 'bash-window)