emacs에서 페어링 (밸런싱) 괄호로 이동하는 방법
커서가 하나의 괄호에있을 때 페어링 괄호로 이동하는 방법. 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)
C-M-right
및 C-M-left
(각각 backward-sexp
and forward-sexp
)를 사용 하여 현재 표현식의 시작 또는 끝으로 이동합니다. 이것은 괄호 쌍뿐만 아니라 일반 단어에도 적용됩니다.
괄호, 중괄호 및 괄호는 두 번 클릭하기 만하면 됩니다.
emacs wiki ( http://www.emacswiki.org/emacs/NavigatingParentheses ) 에서 언급했듯이 :
CMn forward-list 괄호 그룹 위로 앞으로 이동
CMp back-list 괄호 그룹 위로 뒤로 이동
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
CM-right / left가 이미 DE에 바인딩되어 있으므로 CMf 및 CMb를 제안합니다 (오른쪽 / 왼쪽의 데스크톱으로 전환).
나는 정확히 그것을 위해 다음과 같은 작은 기능을 사용합니다 (하지만 그것이 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)))))
내가보기 엔 추천 할 것입니다 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
많은 명령을 Emacs 기본 해당 명령에 매핑합니다. 설치되면 해당 기능 (모두 접두사로 sp-
표시됨)을 검색하여 규모에 대한 좋은 느낌을 얻으십시오.
There's a lot more to it, I'd recommend you have a look at the wiki
'Program Tip' 카테고리의 다른 글
모든 열을 기준으로 SQL 그룹화 (0) | 2020.12.05 |
---|---|
offline_access 지원 중단 이후 액세스 토큰 유효성을 확장하는 방법 (0) | 2020.12.04 |
Bitbucket 및 GitHub 모두에 Windows 용 GitHub 사용 (0) | 2020.12.04 |
스크립트 실행을 거부했습니다. 엄격한 MIME 유형 검사가 활성화되어 있습니까? (0) | 2020.12.04 |
Python을 WebAssembly로 컴파일 (0) | 2020.12.04 |