我有一个程序可以将文本发送到任何其他程序以进行进一步分析(例如 sed、grep 等)。我希望它将数据发送到 Emacs 并在那里进行分析。我该怎么做呢? EmacsClient 默认采用文件名,这是一个数据字符串而不是文件,我真的不想创建和删除文件只是为了将数据发送到 Emacs。
EmacsClient 有一个“eval”命令行选项,可以让您执行 lisp 代码而不是打开文件。是否有一个简单的 lisp 函数可以用给定的文本打开一个新的缓冲区?
编辑:我正在寻找类似的东西:
emacsclientw.exe -eval (open-new-buffer 'hello world')
并且会自动出现一个新的缓冲区,并带有“hello world”一词。我不确定如何设置缓冲区的名称。希望有自动编号的东西。
这符合您的要求:
emacsclient -e '(open-buffer-with "some\nstuff\nhere")'
(defun open-buffer-with (txt)
"create a new buffer, insert txt"
(pop-to-buffer (get-buffer-create (generate-new-buffer-name "something")))
(insert txt))
显然你可以自定义open-buffer-with
做你想做的事。
您可能想看看类似的问题:如何获得基本的 AppEmacs 集成? https://stackoverflow.com/questions/699346/how-do-i-get-basic-app-emacs-integration.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)