Como pulo para fora dos parênteses?


12

Estou usando spacemacspara editar o código Python.

Quando digito parênteses de abertura, os parênteses de fechamento são inseridos automaticamente para mim e o cursor é colocado no meio para digitação adicional. Mas: assim que terminar de digitar entre parênteses, preciso de uma maneira rápida de pular e aterrissar após o fechamento dos parênteses.

No momento, mudo para o estado normal, movo o cursor uma unidade (quando estou no caractere pouco antes do parêntese de fechamento) e depois reinsiro o estado de inserção com a. Como posso fazer isso de forma mais eficiente?


(Não use smartparens etc., em primeiro lugar? IOW, se dói, não faça. Por que se limitar a " digitar coisas dentro dos parênteses "? O Emacs já permite saber qual parênteses à direita corresponde à parênteses à esquerda. Não há necessidade de limitar a si mesmo, criando pequenas células para trabalhar.)
Drew

3
Você não pode simplesmente digitar um ponto final? Caso contrário, tente C-M-n.
Babá

@nanny Obrigado. Eu não estava ciente disso.
Aviral Goel

@ Drew Você está certo. Mas o smartparens também oferece alguns recursos interessantes, especialmente úteis para a programação de esquemas / raquetes.
Aviral Goel

Respostas:


10

Em smartparens-mode, a função sp-up-sexpo moverá para fora de um conjunto de parênteses (vincule à sua chave de escolha):

Avance para fora de um nível de parênteses.

...

Exemplos:

(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.

Para reiterar uma versão simples dos exemplos de documentação, com o seguinte texto e |como o cursor:

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

M-x sp-up-sexp (ou o que você vincular a essa função por conveniência) levará você a:

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

Observe também que, se o cursor estiver sobre o parêntese de fechamento, você pode simplesmente digitar que parênteses e smartparensvai interpretá-lo no sentido de "movimento passado este parêntese" em vez de "inserir outro parêntese."


3

Try up-list(que é uma função interna do Emacs)

Isso me permite pular de cordas, parênteses, colchetes com qualquer aninhamento.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.