如何在 emacs 中添加缩进劣质方案(REPL)?
How to add indentation an inferior scheme (REPL) in emacs?
我正在使用 Chicken-scheme.I 使用 M-x run-scheme
启动方案 repl,然后我使用 C-c C-l
之类的东西来测试我的工作。
然而,这是缩进的噩梦。事情通常是这样的:
> (+ 1
(* 2
3)
4)
而不是所需的:
> (+ 1
(* 2
3)
4)
我怎样才能轻松解决这个问题?我知道我可以用 geiser 开始做鸡 repl
,但这会破坏键绑定,我真的只是不想让事情变得比现在更复杂。我只是希望它在我按下回车键时正确缩进,就像在我的 non-repl
缓冲区中一样,仅此而已。
我只想要最简单的解决方案来获得一些漂亮的缩进,就像 lisp 的标准一样。我想补充一点,我在其中编辑文件的缓冲区完全没问题,只是 repl
不起作用。
将 RET
绑定到
(defun comint-send-input-indent ()
(interactive)
(let ((parens (or (car (syntax-ppss)) 0)))
(if (zerop parens)
(comint-send-input)
(newline-and-indent))))
已找到 here
我正在使用 Chicken-scheme.I 使用 M-x run-scheme
启动方案 repl,然后我使用 C-c C-l
之类的东西来测试我的工作。
然而,这是缩进的噩梦。事情通常是这样的:
> (+ 1
(* 2
3)
4)
而不是所需的:
> (+ 1
(* 2
3)
4)
我怎样才能轻松解决这个问题?我知道我可以用 geiser 开始做鸡 repl
,但这会破坏键绑定,我真的只是不想让事情变得比现在更复杂。我只是希望它在我按下回车键时正确缩进,就像在我的 non-repl
缓冲区中一样,仅此而已。
我只想要最简单的解决方案来获得一些漂亮的缩进,就像 lisp 的标准一样。我想补充一点,我在其中编辑文件的缓冲区完全没问题,只是 repl
不起作用。
将 RET
绑定到
(defun comint-send-input-indent ()
(interactive)
(let ((parens (or (car (syntax-ppss)) 0)))
(if (zerop parens)
(comint-send-input)
(newline-and-indent))))
已找到 here