interactive 使用示例 ¶这里是一些 interactive 的示例:
(defun foo1 () ; foo1 不带参数,
(interactive) ; 仅向前移动两个单词。
(forward-word 2))
⇒ foo1
(defun foo2 (n) ;foo2接受一个参数, (interactive "^p") ; 该参数为数字前缀参数。 ; 在shift-select-mode下, ; 会激活或扩展区域。 (forward-word (* 2 n))) ⇒ foo2
(defun foo3 (n) ; foo3 接受一个参数,
(interactive "nCount:") ; 通过迷你缓冲读取该参数。
(forward-word (* 2 n)))
⇒ foo3
(defun three-b (b1 b2 b3) "选择三个已存在的缓冲区。 将它们放入三个窗口,并选中最后一个。"
(interactive "bBuffer1:\nbBuffer2:\nbBuffer3:")
(delete-other-windows)
(split-window (selected-window) 8)
(switch-to-buffer b1)
(other-window 1)
(split-window (selected-window) 8)
(switch-to-buffer b2)
(other-window 1)
(switch-to-buffer b3))
⇒ three-b
(three-b "*scratch*" "declarations.texi" "*mail*")
⇒ nil