我想设置一个键绑定来将日期插入缓冲区。我在.emacs
文件中写了以下lisp。以date
为例:
;;put the date
(global-set-key
(kbd "C-c C-d")
(shell-command "date" (current-buffer))
)
当我使用'next-line
之类的其他命令时,键绑定可以正常工作,但是当读取.emacs时,shell-command
会将其放入*scratch*
缓冲区并将其保留。{ / p>
也许我需要使用shell-command-on-region
。
答案 0 :(得分:72)
对于将任何shell命令输出插入当前缓冲区的一般情况,您可以使用内置键盘和弦:
C-u M-! <shell-command>
运行相同的shell-command
函数,并将输出插回当前缓冲区中的点。
整个键击行程本身可以保存为宏(也许可以分配给快捷键),以便更轻松地调用常见的shell命令。
答案 1 :(得分:11)
我的一位朋友在工作中帮助了我。
(defun put-the-date ()
(interactive)
(insert (shell-command-to-string "date")))
(global-set-key
(kbd "C-c C-d")
'put-the-date
)