什么时候paredit-close-round的组合性质有用?

时间:2013-10-03 08:01:58

标签: emacs paredit

paredit-close-round(通常必须关闭paren)结合了两件事:

  1. C-M-- C-M-u

  2. 删除一些空格

  3. 该函数的文档有这个简单的例子:

    (a b |c   )
    ->
    (a b c)|
    

    我明白为什么C-M-- C-M-u有用;在C-x C-e之前使用它是有用的,我也看到为什么删除这些空格的命令可能有用,但我不明白为什么有一个组合这两个的命令。必须有一个我遗漏的使用场景,这可以解释为什么空间清洁功能特别添加到paredit-close-round但不添加到其前方对应paredit-backward-up

1 个答案:

答案 0 :(得分:3)

paredit-close-paren意味着你已经完成了对sexp的编辑,所以应该删除最后留下的任何空格。此外,它还绑定了一个“编辑”键(close-paren),所以它可以改变缓冲区内容。

paredit-forward-up(或带有否定前缀的向上翻转)是一个移动命令,因此它不应该更改缓冲区内容。

这是一个用例:(点在|

(let ((hi t))|
  (forward-char 1)
  )
  1. 如果您已完成let语句的编辑,则应删除该换行符(在forward-char之后),这样您点击)即可将let移出{{1}并且清理它很好。
  2. 如果你没有完成let的编辑,但是你想暂时离开它,那么你可能真的希望保持该换行符(这样可以更容易移动到正确的位置,它可以帮助您记住未完成的业务),因此您使用C-M-n代替let,而不会编辑任何内容。