gpt4 book ai didi

linux - 使用 elisp,如何在 emacs 终端仿真器中启动、发送 key 和停止命令?

转载 作者:太空狗 更新时间:2023-10-29 11:05:43 25 4
gpt4 key购买 nike

使用 elisp(不是交互式键和弦),如何在 emacs 终端仿真器中运行命令;以及如何将按键发送到该缓冲区?

启动 term 似乎需要 (term "/bin/bash"),它没有运行命令的范围。我认为这可能是因为 term 旨在作为一种交互式工具...

我还想将特定 key 发送到正在运行的应用程序。这个可以吗。我认为 (insert 'x) 可能有效,但它没有缓冲区参数,也不允许 M- C- S- s-

最佳答案

您可以使用 term-send-raw-string 将输入直接发送到终端。示例:

(progn
(set-buffer "*terminal*")
(term-send-raw-string "ls -l\n"))

这将模拟在终端缓冲区中键入 ls -lRET 的效果。

虽然 term 在参数解析方面不是很灵活,但通常启动一个 shell 并用 term-send-raw-string 来加载它通常就足够了上目标程序。下面是一小段 elisp,它将一些命令编写成交互式程序的脚本:

(progn 
(let ((term-buffer (term "/bin/bash")))
(set-buffer term-buffer)

;; start up vi
(term-send-raw-string "vi hello.txt\n")

;; some line noise :P
(term-send-raw-string "ihello world\033:wq\n")

;; quit our shell
(term-send-raw-string "exit")))

关于linux - 使用 elisp,如何在 emacs 终端仿真器中启动、发送 key 和停止命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8271022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com