当光标放在一个括号上时,如何跳转到配对括号.很高兴在emacs -nw工作.
就像Vim中的%.
;;从@Lindy,@ Francesco得到提示之后,我发现了更多:
C-M-f Move forward over a balanced expression
C-M-b Move backward over a balanced expression
C-M-k Kill balanced expression forward
C-M-SPC put the mark at the end of the sexp.
C-M-n Move forward over a parenthetical group
C-M-p Move backward over a parenthetical group
;; C-M key binding can also be done by --> ESC Control-key
;;And put this to .emacs, it will highlight opening/closing parens:
(show-paren-mode 1)
Run Code Online (Sandbox Code Playgroud)
Lin*_*cer 55
使用C-M-right
和C-M-left
(分别backward-sexp
和forward-sexp
)转到当前表达式的开头或结尾.这适用于括号对,但也适用于简单的单词.
Buz*_*uzz 20
正如emacs wiki(http://www.emacswiki.org/emacs/NavigatingParentheses)中所述:
CMn转发列表向括号内移动
CMp向后列表在括号组上向后移动
CMf forward-sexp向前迈进一个平衡的表达
CMb backward-sexp向后移动平衡表达式
CMk kill-sexp杀死平衡的表达向前
CM-SPC mark-sexp将标记放在sexp的末尾.
https://superuser.com/questions/677516/how-do-i-jump-to-the-opening-or-closing-paren-brace-in-emacs
Jor*_*ata 19
对于括号,括号和括号只需双击它们即可.
我正是使用以下小函数(虽然我不知道它是否与vim的行为相匹配;我自己也不是vim用户):
(defun mo-match-paren (arg)
"Go to the matching parenthesis."
(interactive "p")
(cond ((looking-at "\\s\(") (forward-list 1) (backward-char 1))
((looking-at "\\s\)") (forward-char 1) (backward-list 1))
(t (self-insert-command (or arg 1)))))
Run Code Online (Sandbox Code Playgroud)
我强烈建议SmartParens它具有广泛的导航和操纵括号结构(即,包装,引号,标签,括号,花括号,规则括号,sexp等),并支持多种语言和结构,并且易于定制。
它还支持相当复杂的结构,在其文档中将其称为hybrid-s-expressions。这使得它在处理C / C ++,Java,JS等语言中的代码时非常强大。
对于导航,使用以下内容。
sp-forward-sexp (&optional arg) ;; C-M-f
sp-backward-sexp (&optional arg) ;; C-M-b
sp-down-sexp (&optional arg) ;; C-M-d
sp-backward-down-sexp (&optional arg) ;; C-M-a
sp-up-sexp (&optional arg) ;; C-M-e
sp-backward-up-sexp (&optional arg) ;; C-M-u
sp-next-sexp (&optional arg) ;; C-M-n
sp-previous-sexp (&optional arg) ;; C-M-p
sp-beginning-of-sexp (&optional arg) ;; C-S-d
sp-end-of-sexp (&optional arg) ;; C-S-a
sp-beginning-of-next-sexp (&optional arg) ;; none
sp-beginning-of-previous-sexp (&optional arg) ;; none
sp-end-of-next-sexp (&optional arg) ;; none
sp-end-of-previous-sexp (&optional arg) ;; none
Run Code Online (Sandbox Code Playgroud)
请注意,它将许多命令映射到Emacs默认等效项。安装后,只需浏览其功能(都带有前缀sp-
)就可以很好地了解其规模。
还有很多其他内容,我建议您看看Wiki。
归档时间: |
|
查看次数: |
19679 次 |
最近记录: |