gpt4 book ai didi

python - 在 point 的 emacs 缓冲区中写入 python 命令的评估结果

转载 作者:太空宇宙 更新时间:2023-11-04 03:40:43 26 4
gpt4 key购买 nike

如何计算来自 emacs 缓冲区的一行 Python 代码并将结果写入光标处的缓冲区?我想在 haskell-mode 中做一些类似的事情,你可以在其中键入 C-u C-c C-t 并且你光标处的任何类型定义都会插入到你的光标处。

所以,如果我选择并发送了一个区域,例如

1 + 2

.py 缓冲区到我将看到的 Python 劣质进程

3
1 + 2

在我的 .py 缓冲区中,即。 3 后跟一个换行符被插入点。

最佳答案

要在点插入 shell 命令的结果,我们有 C-u M-!(shell-command),因此您可以插入 python 命令的结果python -c "打印 1 + 2"

要使用当前行需要一点口齿不清。这是一个非常简单的例子。

(defun my-py-eval-insert-current-line ()
"Eval the current line and insert its result."
(interactive)
(setq cmd (read-from-minibuffer "Python cmd: " (format "python -c 'print %s'" (current-line))))
(setq res (shell-command-to-string cmd))
(insert res)
)

(defun current-line ()
"returns the current line."
;; http://ergoemacs.org/emacs/elisp_all_about_lines.html
(let (p1 p2 myLine)
(setq p1 (line-beginning-position) )
(setq p2 (line-end-position) )
(setq myLine (buffer-substring-no-properties p1 p2))
))

我宁愿看看 pymacs 的一些严肃的东西。

ps: elisp 函数:http://wikemacs.org/wiki/Emacs_Lisp_Cheat_Sheet

关于python - 在 point 的 emacs 缓冲区中写入 python 命令的评估结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26570102/

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