Emacs中的方案编辑 - 模式和键盘布局

时间:2012-03-18 10:18:36

标签: emacs lisp scheme

最近我开始使用Emacs作为我的Scheme(Lisp)编辑器。我想我应该使用哪些扩展来获得最佳性能。目前我正在使用Paredit并且它有很多帮助。我知道有很多针对Emacs的Scheme扩展:GeiserQuack来命名看起来非常受欢迎的两个,以及EmacsWiki lists many more。你们中的哪些人使用过,哪些是你们最好的?目前,我最大的问题是没有括号着色,这使得它在视觉上很难配对 - 当你有一行代码结束时,缩进是不够的)))))))))

我还在考虑如何改进Emacs的键盘布局以便在Scheme编辑中做得更好?我在CLiki找到了一些好建议。我在键盘上用[]换了[],这很有帮助。我也在考虑交换Alt and Ctrl keys

您是否有任何其他提示和建议可以更轻松地在Emacs中编辑Scheme?

4 个答案:

答案 0 :(得分:2)

我发现rainbow delimiters模式对于突出括号的不同杠杆非常有帮助。

帮助我编写lisp的其他模式有hideshow mode用于折叠性别,slime主要用于Common Lisp,但我也使用它在方案中的缩进功能,低对比度颜色主题称为{ {3}}我的眼睛不再疲劳,并且大量变异solarized,这使我可以通过编辑模式保持我的键绑定。

答案 1 :(得分:1)

我使用show-paren-mode,一种次要模式,在我的.emacs中使用这些:

(show-paren-mode t)
(setq show-paren-delay 0)
(setq show-paren-style 'expression) ; alternatives are 'parenthesis' and 'mixed'

要修改的相关面孔为show-paren-matchshow-paren-mismatch

它只会在点之前或之后突出显示性别,但我喜欢它不是那么面对面。

答案 2 :(得分:1)

我使用autopair来获得正确的括号,show-paren-mode来查看s表达式的结束和开始,使用expand-region来标记s表达式(它的工作原理远不止于此)。

答案 3 :(得分:0)

我认为,随着你继续玩paredit,你可能会发现对括号着色的需求越来越少。例如,在任何sexp中键入')',并且会立即突出显示开始和结束的parens;然后点将移动到sexp的末尾。能够轻松导航嵌套的sexp结构 - 例如,C-M-u和C-M-d在一个paren级别上下导航 - 也消除了视觉上对括号进行配对的一些需要。