如何在emacs中添加缩进方案(REPL)?

时间:2016-02-23 19:20:03

标签: emacs scheme chicken-scheme

我使用Chicken-scheme。我使用M-x run-scheme开始一个方案repl,然后我使用像C-c C-l之类的东西来测试我的工作。

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

> (+ 1 
(* 2
3)
4)

而不是所需的:

> (+ 1
     (* 2
        3)
     4)

我该如何轻松解决这个问题?我知道我可以用geiser开始一只鸡repl,但这会打破键绑定,我真的只是不想让事情变得更复杂。我只想在按下回车键时正确缩进,就像在我的non-repl缓冲区中一样。

我喜欢最简单的解决方案来获得一些不错的缩进,就像是lisp的标准。我想补充一点,我编辑文件的缓冲区完全没问题,它只是repl无法正常工作。

1 个答案:

答案 0 :(得分: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