我正在寻找一种方法将任意Emacs命令的输出(在我的情况下是sql-send-region)发送到另一个窗口。我宁愿在目前的窗口中保持焦点,这将有效地给我一个窗口来编辑查询和一个窗口来查看输出。
答案 0 :(得分:3)
我能够编写一些Emacs Lisp来解决我的问题:
(defun sql-send-region-and-return (start end)
(interactive "r")
(let ((oldbuf (buffer-name)))
(sql-send-region start end)
(switch-to-buffer oldbuf)))
这会将您所在区域的结果发送到SQL缓冲区并返回当前缓冲区,从而有效地完成所述目标。
感谢justinhj给了我一些新的线索来解决我的问题。
答案 1 :(得分:2)
您是否尝试将此变量设置为t,这听起来像您想要的行为。
SQL-POP-至缓冲 - 后发送区域
调用sql-send-region' or
sql-send-buffer'后,
窗口被拆分,并显示SQLi缓冲区。如果这
变量不是nil,将选择缓冲区的窗口
通过调用pop-to-buffer'. If this variable is nil, that
buffer is shown using
display-buffer'。