是否有一个Emacs包用于移动Lisp(特别是Clojure)S表达式?
注意:我一直在看看如何在S-Expressions之间移动光标,但这不是我想要的 。我想改为移动表达式:
我正在寻找类似的东西:
(a-fn 1 2 3)
'(another-thing 2 3 4)
↑cursor here
然后,如果我做“swap-sexp”的“移动性行为”,那么结果应该是:
↓cursor here
'(another-thing 2 3 4)
(a-fn 1 2 3)
答案 0 :(得分:6)
内置的transpose-sexps
功能可以做你想要的。
对于更适合Clojure的结构化s表达式编辑,您应该尝试ParEdit。
答案 1 :(得分:1)
lispy与Clojure合作。 按 w 向上移动性别,然后按 s 移动性别。
答案 2 :(得分:1)
如前所述,lispy和paredit是您想要查看的软件包。 Lispy具有短键绑定的优点,但这需要确保指针在sexp之前/之后且活动区域打开。
Paredit具有更长的键绑定,但没有对指针所在位置的限制,并且该区域不需要处于活动状态。我倾向于使用paredit - 虽然它需要一些时间才能使用它,一旦你拥有它,它会使事情变得非常快。