gpt4 book ai didi

emacs - 何时使用 paredit barf 命令

转载 作者:行者123 更新时间:2023-12-01 23:54:35 32 4
gpt4 key购买 nike

Paredit 提供了 barf 和 slurp 命令。我可以看到何时使用 slurp 命令,但不确定何时应使用 barf 命令。

当我有这段代码时:

(foo num)
(bar num)

我会这样写:

(let ((numb blah)))
(foo num)
(bar num)

然后吸食两次得到这个:

(let ((numb blah))
(foo num)
(bar num))

起初我认为与该任务相反的任务可能需要使用 barf,但为此,我可以将点移动到 (foo num) 的开头然后按 <M-up>它运行命令 paredit-splice-sexp-killing-backward 我得到了这个:

(foo num)
(bar num)

在哪些情况下可以方便地使用 barf 命令?

注意:当您重复 slurp 命令的次数超过必要次数时,您可以调用 undo 命令来取消其中的一些命令。

最佳答案

Slurpage和Barfage离不开模式,这是Paredit社区所有成员普遍接受的真理。用 Paredit 编写一些 lisp 代码,就会出现对这些代码的需求。这更多是由于结构编辑的性质和 Paredit 对不平衡括号的厌恶,而不是其他任何因素。

当不使用 Paredit 时,这可以通过在添加和删除括号时使用光标(或可能使用鼠标)导航来完成。 Paredit 不允许其用户以这种不受欢迎的方式违反其括号,因此自然的结论是 Paredit 用户必须呕吐和啜饮。

一个例子:

创建了一个代码块,一个 if 语句。

(when (|so bar fuux baz)
(foo suux duux))

此 block 需要使用 逻辑运算符测试两个条件,而不是测试一个条件。 M-( 可用于换行,但它不会换行多汁的 bar fuux baz 符号。

(when ((|so) bar fuux baz)
(foo suux duux))

啜饮

(when ((|so bar fuux baz))
(foo suux duux))

犯了一个错误。 Baz 属于第二个条件 block 。 呕吐

(when ((|so bar fuux) baz)
(foo suux duux))

其余不包括使用 slurpage 或 barfage。

(when (and (|so bar fuux) baz)
(foo suux duux))

关于emacs - 何时使用 paredit barf 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24787021/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com