有沒有辦法在Slime/Emacs中複製/抽取整個表單?在Slime中複製/抽出整個Lisp表單
舉例來說,如果我有以下功能:
(myfunc (lst)
(myotherfunc lst))
我想抽出/副本:
(myotherfunc lst)
通過發出一個快捷鍵,當我的光標處於開啓或關閉該形式的括號(在Slime/Emacs進行括號匹配的位置)。
有沒有辦法在Slime/Emacs中複製/抽取整個表單?在Slime中複製/抽出整個Lisp表單
舉例來說,如果我有以下功能:
(myfunc (lst)
(myotherfunc lst))
我想抽出/副本:
(myotherfunc lst)
通過發出一個快捷鍵,當我的光標處於開啓或關閉該形式的括號(在Slime/Emacs進行括號匹配的位置)。
在我的Emacs中,函數kill-sexp
綁定到C-M-k。也就是說,假定該點位於平衡表達式的開始分隔符的前面,請同時按下Control,Meta和k。
該命令可以在其他各種非Lisp模式下工作,例如在C風格模式下殺死大括號分隔的塊,儘管kill-sexp
命令可能未綁定到相同的密鑰。
CM-SPC(標記SEXP)把標記 在SEXP的端部,然後複製/抽出
CMF(正向SEXP)和CMB (向後性別)有助於平衡表達向前和向後移動
默認情況下,emacs小模式ParEdit在正常殺死「C-k」時會這樣做。我肯定會推薦給任何emacs + slime用戶。
此處還值得一提的是,對於任何不知道C-y的人,都會在當前光標位置將行插回緩衝區。 – 2012-03-25 04:48:34
您可以使用lispy,然後你可以按它運行lispy-new-copy
ň複製
(myotherfunc lst)
+1是的,這些都是有用的綁定,謝謝。 – Joel 2011-01-11 15:18:37