4

我正在使用 Chicken-scheme 。我M-x run-scheme用来启动一个方案 repl,然后我使用诸如C-c C-l测试我的工作之类的东西。

然而,这是一个缩进的噩梦。事情通常是这样的:

> (+ 1 
(* 2
3)
4)

而不是想要的:

> (+ 1
     (* 2
        3)
     4)

我怎样才能轻松解决这个问题?我知道我可以repl用 geiser 开始做鸡,但这会破坏键绑定,我真的不想让事情变得比现在更复杂。我只是希望它在我按下回车时正确缩进,就像在我的non-repl缓冲区中一样,仅此而已。

我只是想要最简单的解决方案来获得一些不错的缩进,就像 lisp 的标准一样。我想补充一点,我在其中编辑文件的缓冲区完全没问题,只是repl那个不起作用。

4

1 回答 1

0

绑定RET

(defun comint-send-input-indent ()
  (interactive)
  (let ((parens (or (car (syntax-ppss)) 0)))
    (if (zerop parens)
        (comint-send-input)
      (newline-and-indent))))

如发现here

于 2018-01-21T14:08:36.007 回答