SLIME中的自动完成括号

时间:2013-06-01 20:28:06

标签: emacs lisp slime

我正在使用SLIME学习Common Lisp。有没有办法自动完成括号,这样当我键入一个打开的paren时,会自动添加一个关闭的?我更像是一个vim家伙,所以在mv~ / .vimrc我有:

  

inoremap(()< Left>

因此,当我键入一个打开的paren时,vim会自动添加关闭的paren并将光标放在parens之间。有没有办法用SLIME做到这一点?

3 个答案:

答案 0 :(得分:17)

如果您正在使用CL或其他lisps,我可以建议安装&使用paredit - 它可以帮助你写很多东西。操纵s表达式

答案 1 :(得分:3)

如果你有Emacs 24,你可以使用内置electric-pair-mode。您可以根据要求使用M-x electric-pair-mode激活它,或者默认情况下将其启用

(electric-pair-mode +1)

.emacs

答案 2 :(得分:2)

我认为这相当于.vimrc中的内容。

(global-set-key "(" (lambda () (interactive) (insert "()") (backward-char 1)))

但我们喜欢Emacs中的更多功能。一旦你尝试用paredit写lisp, 你永远不会回去。