Làm thế nào để tôi nhảy ra khỏi dấu ngoặc đơn?


12

Tôi đang sử dụng spacemacsđể chỉnh sửa mã Python.

Khi tôi nhập dấu ngoặc đơn mở, dấu ngoặc đơn đóng sẽ tự động được chèn cho tôi và con trỏ được đặt ở giữa để nhập thêm. Nhưng: một khi tôi đã gõ xong trong ngoặc đơn, tôi cần một cách nhanh chóng để nhảy ra khỏi chúng và hạ cánh sau dấu ngoặc đơn đóng.

Ngay bây giờ, tôi chuyển sang trạng thái bình thường, di chuyển con trỏ một đơn vị (khi tôi nhập ký tự ngay trước dấu ngoặc đơn đóng), sau đó nhập lại trạng thái chèn với a. Làm thế nào tôi có thể làm điều này hiệu quả hơn?


(Không sử dụng smartparens, v.v ... ngay từ đầu? IOW, nếu đau, đừng làm điều đó. Tại sao lại giới hạn bản thân trong việc " gõ nội dung bên trong dấu ngoặc đơn "? Emacs đã cho bạn biết paren bên phải tương ứng với paren bên trái nào Không cần thiết phải tự thắt dây bằng cách tạo ra các ô nhỏ để hoạt động.)
vẽ

3
Bạn có thể chỉ cần gõ một paren đóng? Nếu không, hãy thử C-M-n.
mẫu

@nanny Cảm ơn. Tôi đã không nhận thức được nó.
Avirus Goel

@Drew Bạn nói đúng. Nhưng smartparens cũng cung cấp một vài tính năng hay, đặc biệt hữu ích cho lập trình lược đồ / vợt.
Avirus Goel

Câu trả lời:


10

Trong smartparens-mode, hàm sp-up-sexpsẽ đưa bạn ra khỏi một bộ dấu ngoặc đơn (liên kết với khóa bạn chọn):

Di chuyển về phía trước ra khỏi một cấp của dấu ngoặc đơn.

...

Ví dụ:

(foo |(bar baz) quux blab) -> (foo (bar baz) quux blab)|

(foo (bar |baz) quux blab) -> (foo (bar baz) quux blab)| ;; 2

(foo bar |baz -> (foo bar baz)| ;; re-indent the expression ​ )

(foo |(bar baz) -> (foo)| (bar baz) ;; close unbalanced expr.

Để nhắc lại một phiên bản đơn giản của các ví dụ về chuỗi, với văn bản sau và |dưới dạng con trỏ:

(hey, I'm| in the parentheses) and I'm outside them

M-x sp-up-sexp (hoặc bất cứ điều gì bạn liên kết chức năng đó để thuận tiện) sẽ đưa bạn đến:

(hey, I'm in the parentheses)| and I'm outside them

Cũng lưu ý rằng, nếu con trỏ nằm trong dấu ngoặc đơn đóng, bạn chỉ cần nhập dấu ngoặc đơn đó và smartparenssẽ hiểu nó có nghĩa là "di chuyển qua dấu ngoặc đơn này" thay vì "chèn dấu ngoặc đơn khác".


3

Hãy thử up-list(là một chức năng Emacs tích hợp)

Nó cho phép tôi nhảy ra khỏi chuỗi, parens, ngoặc với bất kỳ lồng nhau nào.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.