【问题标题】:emacs scheme racket auto reload fileemacs 方案球拍自动重新加载文件
【发布时间】:2013-01-27 02:32:51
【问题描述】:

我是 scheme 的新手,但能够让它在 emacs 中运行。我喜欢在 emacs 的一个缓冲区中打开文件,并在另一个缓冲区中打开球拍解释器,这样我就可以在编写时进行测试等。问题是每次我想测试某些东西时,我都必须保存文件(没什么大不了的),然后使用(输入!“程序名”)在解释器中重新加载它。

每次我保存文件时都会自动重新加载吗?每次更改某些内容时都必须手动重新加载文件真的很乏味,特别是因为我仍在学习方案,所以我必须来回进行大量更改。非常感谢任何帮助,谢谢!

【问题讨论】:

    标签: emacs scheme racket reload


    【解决方案1】:

    Geiser 和/或 Quack 是 Emacs 非常好的模式。使用 DrRacket 也是一个不错的选择。

    但要更准确地回答您的问题:

    您可以将以下内容添加到您的 .emacs 并将其绑定到 F5 键,以粗略近似 DrRacket 的 Run 命令:

    (defun run-roughly-like-dr-racket ()
      (interactive)
      (let ((w (selected-window)))
        (set-buffer-modified-p t)           ;force save buffer so that enter! ...
        (save-buffer)                       ;...will re-evaluate
    
        (other-window -1)
        (run-scheme)
        (select-window w)
    
        (comint-send-string (get-buffer-process "*scheme*")
                            (format "(enter! \"%s\")\n" (buffer-file-name)))
    
        (pop-to-buffer (get-buffer-process "*scheme*") t)
        (select-window w)))
    

    【讨论】:

    • @molbdnilo :p 除了发布我的回答之外,我喜欢你的回答并投票赞成。
    • 哈哈,有人删除了我将@molbdnilo 称为“另一个失败者”的评论。干得好,所以。
    • @molbdnilo 你不应该自我贬低吗? o_O
    【解决方案2】:

    最有用的选项可能是Geiser

    除了其他出色的功能外,它还可以让您通过击键编译当前文件,或者仅评估当前的定义。 我认为它有据可查,并且是您可以获得的最接近 SLIME for Scheme 的文件。

    如果你可以不用 Emacs,DrRacket 也是一个很好的工作环境。

    【讨论】:

      猜你喜欢
      • 2023-03-18
      • 2017-09-28
      • 1970-01-01
      • 1970-01-01
      • 2022-07-27
      • 2014-11-22
      • 2012-11-12
      • 2019-10-27
      • 1970-01-01
      相关资源
      最近更新 更多