4

我怎样才能采取一种形式,为了使它成为另一个函数的参数,用一个命令用括号括起来?

对于下面的示例,假设光标从开头开始,并且我不移动它。

(最大 1 2 3) -> ((最大 1 2 3)) -> (= 3 (最大 1 2 3))

所以我的命令是:'magic-key-combination' -> '=' -> ' ' -> '3'

4

2 回答 2

2

没有一个内置命令可以完成所有这些操作,但是,您可以将一个键绑定到多个命令。

尝试将以下内容放入您的user.keymap文件中(只需将“ctrl-m”替换为您喜欢的魔术键组合)。

{:+ {...
     :editor {...
              "ctrl-m" [:paredit.select.parent 
                        (:editor.open-pair "(")
                         :paredit.move.down.backward 
                         :paredit.move.up.backward  
                         :editor.char-right]
              ...}}}

有关每个单独的 paredit 命令的作用的详细信息,请参阅我找不到灯表备忘单,并根据需要进行调整!

于 2014-03-15T16:47:53.287 回答
1

这是我经常使用的另一个选项。从“(max 1 2 3)”开始,我会在开头的括号之前输入“= 3”,结果如下:

= 3 (max 1 2 3)

然后,我选择整个表达式并键入一个左括号。LightTable 自动在选择的末尾插入右括号:

(= 3 (max 1 2 3))

您可能仍然决定使用键绑定,但这个技巧很高兴知道。

于 2014-03-19T18:40:02.017 回答