我使用vim用paredit.vim来编辑Clojure,并注意到我能想象的是预期的行为:当做一个简单的换行符时,右括号总是被推到下一个例如:
(if true
"hello"
)
而不是我期望的:
(if true
"hello")
屏幕截图视频:http://d.pr/v/14S8F/4Z8gkHOA
我已禁用除vundle
和paredit.vim
以外的所有其他插件以确保安全,并且它正在发生。我使用vim 7.4
和macvim 7.4
的结果相同。
我错了,或者这是paredit的预期行为?
修改
虽然所选答案确实设置了我期望的功能,但@amalloy的评论确实回答了这是paredit的预期功能,而:help paredit
确实澄清了这一点:
如果g:paredit_electric_return开启,那么它也会在适当时重新收集电力回报。
并进一步:
如果非零,那么"电气回报"功能已启用。这意味着当一个 在插入模式下关闭paren之前按下,实际上是paredit 插入两个换行符,创建一个空行。额外换行消耗在 按下下一个关闭的paren。此功能允许按行编辑 在下一个(空)行中输入的子表单。 换句话说,"打开"编辑时的括号表达式,')' "关闭"他们。 请注意,如果Slimv,REPL缓冲区的电动返回被禁用 选项| g:slimv_repl_simple_eval |非零。在这种情况下使用 将命令行发送到swank服务器进行评估。