Yanıtlar:
M-C-f(veya M-C-right) forward-sexp
bunu yapmak zorundadır.
Bilinen tüm hareket komutlarını önek M-C-
yerine denemenizi öneririm C-
.
backward-sexp
backward-up-list
forward-list
backward-sexp
bağlı gerekir M-C-b
.
M-C
, C-
eğer bilirse , önekle denemenin oldukça açık olacağını düşündüm M-C-f
. Tamam - cevapta bahsedeceğim.
forward-sexp
ve backward-sexp
alıntılanan bir dizenin içindeki boşluklarda duruyor mu?
Hep bağlantılarında hatırlamakta sorun var forward-sexp
ve backward-sexp
ve daha fazla gibi çalıştı şey istedim %
Vim'ın komut modunda yapar. Bir noktada, bunu config'ime ekledim (docstring parens diyor, ancak herhangi bir parantez veya alıntı için çalışıyor) ve şimdi memnunum:
;;; PAREN-BOUNCE
;;;; originally ganked from <http://elfs.livejournal.com/1216037.html>
(defun genehack/paren-bounce ()
"Bounce from one paren to the matching paren."
(interactive)
(let ((prev-char (char-to-string (preceding-char)))
(next-char (char-to-string (following-char))))
(cond ((string-match "[[{(<\"']" next-char) (forward-sexp 1))
((string-match "[\]})>\"']" prev-char) (backward-sexp 1))
(t (error "%s" "Not an expression boundary.")))))
;;;; bindings
(global-set-key (kbd "C-%") 'genehack/paren-bounce)
(global-set-key (kbd "C-5") 'genehack/paren-bounce)
Tüm bu amaçlar için smartparens paketini kullanmanızı öneririm. Kısa tanıtım burada: https://ebzzry.io/en/emacs-pairs/ .
sp-beginning-of-sexp
ve sp-end-of-sexp
istediğime çok yakınlar. Umarım tek bir fonksiyonda birleştirilebilirler (örneğin), sp-matching-sexp
sadece bir tuş bağını hatırlamam gerekir. Belki bir elisp fonksiyonu yazmaya çalışacağım. Bunu daha önce kimse yaptıysa bana bildirin. Teşekkürler.
skip-syntax-forward
ediyorum.