2012-01-06 65 views
6

使用paredit時,如何將文字大括號括起來?我已經使用過多次paredit,但是我感到沮喪,因爲它阻止我做我想做的事。用大括號圍繞文本?

例子:

(foo 
    (bar 1 2 3) 
    baz 1 2 3) 

哎呀,baz 1 2 3應包像這樣:

(foo 
    (bar 1 2 3) 
    (baz 1 2 3)) 

但是,沒有...:

(foo 
    (bar 1 2 3) 
    () baz 1 2 3) 

回答

4

你沒有提到什麼編輯器你正在工作。在任何情況下,如果你只是輸入一個開頭paren,那麼它的關閉對也會立即添加。爲了用圓括號包裝表達式,你需要使用'wrap'函數。

在emacs中,它可以是paredit-wrap-roundM-(,請查找emacs paredit cheatsheet here

在vim中使用slimv這是,W(如果您先選擇一個表達式,然後整個表達式將被包裝)。

如果你碰巧換錯號碼的元素,那麼你可以將它們移入/出S-表達的(見Emacs的啜食「和「BARF」),或者你可以移動括號(,<,>爲vim)。

2

類型的C-u (代替(,使其環繞一切從點上,或M-3 ((或M-3 M-(),使其環繞在接下來的三個S表達式。

或者,您可以標記要加括號的區域,然後鍵入(

另一種替代方法是輸入(,然後點擊M-),以便按您所期望的術語進行搜索。