首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Paredit包装现有表达式

使用Paredit包装现有表达式
EN

Stack Overflow用户
提问于 2013-01-05 17:25:40
回答 6查看 1.9K关注 0票数 6

我在Paredit模式下对Lisp代码使用Emacs。

我正在尝试在println中封装一个函数调用:

代码语言:javascript
复制
(square 5)
(println (square 5))

在paredit中发生的事情是这样的:

代码语言:javascript
复制
(square 5)
(println) (square 5)

我无法删除println的结束部分并将其移动到末尾。

我现在这样做的方式是: 1.删除函数调用并在println中删除它2.编写println而不使用paren,直观地选择代码并用括号括起来

代码语言:javascript
复制
(square 5)
println (square 5)
=> select block of code and type (
(println (square 5))

这两种方法都很繁琐。每当我在Paredit中从里到外编写代码时,这似乎是一个常见的问题。任何帮助都将不胜感激

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-01-05 17:40:11

paredit-wrap-round命令可能有帮助(绑定到M-(在我使用的paredit版本中))。

票数 8
EN

Stack Overflow用户

发布于 2013-01-05 22:34:43

与其他答案不同的是,我倾向于使用Ctrl-Right来解决这个问题:

代码语言:javascript
复制
(println|) (square 5)

(其中|是光标所在的位置),我只需按Ctrl-Right即可获得正确的结果。

票数 6
EN

Stack Overflow用户

发布于 2013-01-05 19:00:07

在您的例子中,解决方案是M-2 M-(M-( C-)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14170403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档