Come posso saltare fuori dalla parentesi chiusa?


12

Sto usando spacemacsper modificare il codice Python.

Quando digito una parentesi aperta, la parentesi chiusa viene automaticamente inserita per me e il cursore viene posizionato al centro per un'ulteriore digitazione. Ma: una volta che ho finito di scrivere tra parentesi, ho bisogno di un modo rapido per saltare da loro e atterrare dopo la parentesi di chiusura.

In questo momento, passo allo stato normale, muovo il cursore di un'unità (quando sono sul personaggio appena prima della parentesi di chiusura), quindi rientro nello stato di inserimento con a. Come posso farlo in modo più efficiente?


(Non usare smartparens ecc. In primo luogo? IOW, se fa male, non farlo. Perché limitarti a " scrivere cose tra parentesi "? Emacs ti fa già sapere quale parentesi destra corrisponde a quale parentesi sinistra Non c'è bisogno di tendersi il tendine del ginocchio creando piccole cellule in cui lavorare.)
Disegnato il

3
Non puoi semplicemente digitare una parentesi chiusa? Altrimenti, prova C-M-n.
tata

@nanny Grazie. Non ne ero a conoscenza.
Aviral Goel,

@Drew Hai ragione. Ma smartparens offre anche un paio di funzioni utili, particolarmente utili per la programmazione di schemi / racchette.
Aviral Goel,

Risposte:


10

In smartparens-mode, la funzione sp-up-sexpti sposterà fuori da una serie di parentesi (associa alla tua chiave di scelta):

Spostarsi avanti di un livello tra parentesi.

...

Esempi:

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

Per ripetere una versione semplice degli esempi di docstring, con il testo seguente e |come cursore:

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

M-x sp-up-sexp (o qualunque altra cosa abbiniate a tale funzione per comodità) vi porterà a:

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

Si noti inoltre che, se il cursore si trova sulla parentesi chiusa, è possibile digitare tale parentesi e smartparensinterpretarla nel senso che "sposta oltre questa parentesi" anziché "inserire un'altra parentesi".


3

Prova up-list(che è una funzione Emacs integrata)

Mi permette di saltare da stringhe, parentesi, parentesi con qualsiasi annidamento.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.