如何控制Emacs Lisp shell命令的输出窗口?

时间:2015-07-29 14:40:43

标签: emacs elisp

考虑到这样的事情:

(global-set-key (kbd "<f4>") (lambda () (interactive) (shell-command "gcc --version")))

是否有办法让输出始终进入“右侧的新窗口或现有窗口”,而不是有时这样做,有时将输出放在状态和命令区域下方的小窗口中(显示两种不同的可能性)下文)?

enter image description here

1 个答案:

答案 0 :(得分:1)

以下工作也适用于一行输出(例如"echo hello"而不是"gcc --version"):

(global-set-key (kbd "<f4>")
                (lambda () (interactive)
                   (with-current-buffer (get-buffer-create "*Shell Command Output*")
                     (erase-buffer)
                     (insert (shell-command-to-string "gcc --version"))
                     (display-buffer (current-buffer)))))