괄호로 묶는 방법은 무엇입니까?


12

spacemacs파이썬 코드를 편집 하는 데 사용 하고 있습니다.

여는 괄호를 입력하면 닫는 괄호가 자동으로 삽입되고 추가 입력을 위해 커서가 가운데에 놓입니다. 그러나 일단 괄호 안에 입력을 마치면 괄호 안에 들어가서 닫는 괄호 뒤에 오는 빠른 방법이 필요합니다.

지금은 일반 상태로 전환하고 커서를 한 단위 (닫는 괄호 바로 앞에있는 문자에있을 때)로 이동 한 다음을 사용하여 삽입 상태를 다시 입력하십시오 a. 어떻게하면 더 효율적으로 할 수 있습니까?


(처음에 smartparens 등을 사용하지 않습니까? IOW, 아프면하지 마십시오. 왜 " 괄호 안에 물건을 입력하는 것 "으로 제한 합니까? 작업 할 작은 세포를 만들어서 자신을 햄스트링 할 필요는 없습니다.)
Drew

3
클로징 패런 만 입력 할 수 없습니까? 그렇지 않은 경우을 시도하십시오 C-M-n.
nanny

@nanny 감사합니다. 나는 그것을 몰랐다.
Aviral Goel

@ 드류 당신이 맞아요. 그러나 smartparens는 스키마 / 라켓 프로그래밍에 특히 유용한 몇 가지 멋진 기능을 제공합니다.
Aviral Goel

답변:


10

에서 smartparens-mode, 함수는 sp-up-sexp(바인딩 선택의 키에) 괄호의 집합으로 당신을 이동합니다 :

한 수준의 괄호에서 앞으로 이동하십시오.

...

예 :

(foo |(bar baz) quux blab) -> (foo (bar baz) quux blab)|

(foo (bar |baz) quux blab) -> (foo (bar baz) quux blab)| ;; 2

(foo bar |baz -> (foo bar baz)| ;; re-indent the expression ​ )

(foo |(bar baz) -> (foo)| (bar baz) ;; close unbalanced expr.

다음 텍스트와 |커서를 사용 하여 간단한 버전의 docstring 예제를 반복합니다 .

(hey, I'm| in the parentheses) and I'm outside them

M-x sp-up-sexp (또는 편의를 위해 해당 기능을 바인딩하는 모든 것)은 다음을 수행합니다.

(hey, I'm in the parentheses)| and I'm outside them

또한 커서가있는 경우, 그주의 닫는 괄호, 당신은 그냥 괄호를 입력 할 수 있으며 smartparens이 아닌 "이 괄호 과거 이동"의미 해석합니다 "다른 괄호 삽입합니다."


3

시도 up-list(내장 Emacs 기능)

중첩, 문자열, 괄호, 대괄호를 뛰어 넘을 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.