在 slime 中包裹 s-expression (emacs)
wrap s-expression in slime (emacs)
是否有使用 slime 包裹 s 表达式的捷径?
假设我已经完成了一段代码并且我意识到我需要一个变量(例如出于效率原因)因此想用 let
包装它或者想让它尾递归并需要包装它使用 labels
,最快的方法是什么?有捷径吗?
IntelliJ (a Java IDE) 允许这样的事情:
x > 3.if
+ TAB
屈服
if (x > 3) {
}
那么 slime/emacs 中是否有任何 "sexp-wrapping" 快捷方式(后缀或前缀)?
横条表示光标。
有 paredit
有一个wrap-round
命令,绑定到M-(。但是在给表达式添加上下文时,我一般是这样的:
|code
左括号(自动添加右括号):
(|)code
...键入...
(let |)code
调用 paredit-forward-slurp-sexp (C-right)
(let | code)
另见 The Animated Guide to Paredit。
没有paredit
|code
调用mark-sexp(C-M-Space),然后kill该区域;在您需要的地方键入并拉出(粘贴)文本。
另请参阅 Expressions with Balanced Parentheses(例如 forward-sexp
),在 Emacs 中可用。
是否有使用 slime 包裹 s 表达式的捷径?
假设我已经完成了一段代码并且我意识到我需要一个变量(例如出于效率原因)因此想用 let
包装它或者想让它尾递归并需要包装它使用 labels
,最快的方法是什么?有捷径吗?
IntelliJ (a Java IDE) 允许这样的事情:
x > 3.if
+ TAB
屈服
if (x > 3) {
}
那么 slime/emacs 中是否有任何 "sexp-wrapping" 快捷方式(后缀或前缀)?
横条表示光标。
有 paredit
有一个wrap-round
命令,绑定到M-(。但是在给表达式添加上下文时,我一般是这样的:
|code
左括号(自动添加右括号):
(|)code
...键入...
(let |)code
调用 paredit-forward-slurp-sexp (C-right)
(let | code)
另见 The Animated Guide to Paredit。
没有paredit
|code
调用mark-sexp(C-M-Space),然后kill该区域;在您需要的地方键入并拉出(粘贴)文本。
另请参阅 Expressions with Balanced Parentheses(例如 forward-sexp
),在 Emacs 中可用。