In emacs, come allineare le parentesi chiuse con l'inizio della linea di apertura?


11

Lo stile di rientro predefinito per le chiamate di funzione multilinea in molte modalità emacs è di allineare la parentesi tonda di chiusura con gli altri argomenti alla funzione, quindi:

function_one(
    arg1,
    arg2
    );

Preferirei se la parentesi quadra di chiusura fosse allineata con l'inizio della riga che contiene la parentesi quadra aperta. Per esempio:

function_one(
    function_two(
        f2_arg1,
        f2_arg2
    ),
    f1_arg2,
    f1_arg3
);

Come faccio a fare questo?


1
Sto ignorando la stessa voglia da anni ! Oggi è il giorno di ripararlo.
contratto del Prof. Falken è stato violato il

Risposte:


12
  • Per le molte modalità derivate dalla modalità CC (ad esempio, modalità c, modalità java, modalità php), personalizzare in c-offsets-alistmodo che arglist-closesia impostato su c-lineup-close-paren.
  • Per la modalità cperl, personalizza cperl-indent-parens-as-blocksu true.
  • Per la modalità cperl, GNU Emacs 24.3+, impostato cperl-close-paren-offsetsul negativo dicperl-indent-level
  • Per la modalità perl in GNU emacs 24.3 e versioni successive, personalizza perl-indent-parens-as-blocksu true.
  • Per la modalità Python, questo comportamento si trova in GNU emacs 24.3 e versioni successive.

È possibile personalizzare una variabile digitando M-x customize-variable. In alternativa, aggiungi le seguenti righe al tuo ~/.emacs:

(add-to-list 'c-offsets-alist '(arglist-close . c-lineup-close-paren))
(setq cperl-indent-parens-as-block t)
(setq perl-indent-parens-as-block t)

Esiste un modo per farlo funzionare in modalità Python con Emacs 23.1.1?
Ismaele

La soluzione per Emacs 23.1.1 è semplicemente quella di ottenere l'ultima python-mode.el qui . Decomprimilo nella tua directory ~ / .emacs.d, quindi nel tuo file .emacs, aggiungi questo:(add-to-list 'load-path (expand-file-name "~/.emacs.d/python-mode.el-6.1.3")) (require 'python-mode)
ishmael

E come posso farlo funzionare in C o C ++ ?
contratto del Prof. Falken è stato violato il

Esiste un modo per ottenere l' altro stile python-modesu Emacs> = 24.3?
mgalgs
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.