Ответ 1
Попробуйте последовательность клавиш C-M-u C-M-SPC (т.е. удерживая клавиши Control и Meta, последовательно нажмите u и Space), которая выполняет команды backward-up-sexp
и mark-sexp
.
Edit:
Я допустил ошибку: backward-up-sexp
не существует в стандартном Emacs. Я написал это точно из-за проблемы, упомянутой в комментарии lkahtz, что существующая функция backward-up-list
не будет работать, если точка находится между двойными кавычками.
(defun backward-up-sexp (arg) (interactive "p") (let ((ppss (syntax-ppss))) (cond ((elt ppss 3) (goto-char (elt ppss 8)) (backward-up-sexp (1- arg))) ((backward-up-list arg))))) (global-set-key [remap backward-up-list] 'backward-up-sexp)