Respuestas:
M-C-f(o M-C-right) obligado a forward-sexp
hacer eso.
Le sugiero que pruebe todos los comandos de movimiento conocidos con el prefijo en M-C-
lugar de C-
.
backward-sexp
backward-up-list
forward-list
backward-sexp
obligado a M-C-b
.
M-C
lugar de C-
si lo supiera M-C-f
. Bien, lo mencionaré en la respuesta.
forward-sexp
y se backward-sexp
detiene en espacios en blanco dentro de una cadena citada?
Siempre tengo problemas para recordar los enlaces para forward-sexp
y backward-sexp
, y quería algo que funcionara más como lo %
hace en el modo de comando de Vim. En algún momento, agregué esto a mi configuración (la cadena de documentación dice parens pero funciona para cualquier tipo de soporte o cita), y ahora estoy satisfecho:
;;; 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)
Sugiero usar el paquete smartparens para todos esos propósitos. Una breve introducción está aquí: https://ebzzry.io/en/emacs-pairs/ .
sp-beginning-of-sexp
y sp-end-of-sexp
estoy muy cerca de lo que quiero Espero que se puedan combinar en una función (por ejemplo, sp-matching-sexp
) para que solo necesite recordar una combinación de teclas. Tal vez intentaré escribir una función elisp. Avísame si alguien hizo eso antes. Gracias.
skip-syntax-forward
que haría eso.