Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to mark the text between the parentheses in Emacs?

Tags:

Any such function or elisp script? I want the equivalent function as vi" sequence in vim.

like image 886
lkahtz Avatar asked Mar 04 '11 13:03

lkahtz


1 Answers

Try the key sequence C-M-u C-M-SPC (i.e., while holding the Control and Meta keys, press u and Space in sequence), which executes the commands backward-up-sexp and mark-sexp.

Edit:

I made a mistake: backward-up-sexp doesn't exist in standard Emacs. I wrote it exactly because of the problem mentioned in lkahtz's comment, that the existing function backward-up-list won't work when point is between double quotes.

 (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) 
like image 136
huaiyuan Avatar answered Oct 20 '22 14:10

huaiyuan