45

我想设置一个键绑定以将日期插入缓冲区。我在我的.emacs文件中写了以下 lisp。使用date为例:

;;put the date                                                                  
(global-set-key
 (kbd "C-c C-d")
 (shell-command "date" (current-buffer))
)

当我使用其他命令'next-lineshell-command*scratch*.

也许我需要使用shell-command-on-region.

4

2 回答 2

92

对于将 shell 命令的任何输出插入到当前缓冲区的一般情况,您可以使用内置键盘和弦:

C-u M-! <shell-command>

它运行相同的shell-command功能,并且还将输出插入到当前缓冲区中的点。

整个击键本身可以保存为一个宏(并且可能分配给一个快捷方式),以便于调用常见的 shell 命令。

于 2012-09-06T19:03:36.757 回答
14

我的一个朋友在工作中帮助了我。

(defun put-the-date ()
  (interactive)
  (insert (shell-command-to-string "date")))

(global-set-key
 (kbd "C-c C-d")
 'put-the-date
 )
于 2012-09-06T03:52:05.200 回答