我如何跳出括号?


12

spacemacs用来编辑Python代码。

当我键入左括号时,会自动为我插入右括号,并将光标放在中间以进行进一步输入。但是:一旦我在括号内输入了内容,就需要一种快速的方法来跳出括号并在右括号后着陆。

现在,我切换到正常状态,将光标移动一个单位(当我在右括号之前的字符上),然后使用再次进入插入状态a。我怎样才能更有效地做到这一点?


(首先不要使用smartparens等。IOW,如果很痛,就不要这样做。为什么要限制自己在“ 括号内输入内容 ”?Emacs已经让您知道哪个右括号对应于哪个左括号(无需通过创建一些小单元来束缚自己)
Drew

3
您不能只输入结束括号吗?如果不是,请尝试C-M-n
保姆2015年

@保姆谢谢。我没有意识到。
Aviral Goel 2015年

@德鲁你说得对。但是smartparens也提供了一些不错的功能,对于方案/球拍编程特别有用。
Aviral Goel

Answers:


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.

使用以下文本并|作为光标来重申文档字符串示例的简单版本:

(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函数)

它使我可以跳过带有任何嵌套的字符串,括号,括号。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.