Dans emacs, comment aligner les parenthèses fermantes avec le début de la ligne d'ouverture?


11

Le style d'indentation par défaut pour les appels de fonctions multilignes dans de nombreux modes emacs consiste à aligner le crochet rond de fermeture avec les autres arguments de la fonction, ainsi:

function_one(
    arg1,
    arg2
    );

Je préférerais que le crochet de fermeture soit aligné avec le début de la ligne qui contient le crochet d'ouverture. Par exemple:

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

Comment puis-je faire cela?


1
J'ignore la même envie depuis des années ! Aujourd'hui est le jour pour y remédier.
contrat du professeur Falken a été rompu le

Réponses:


12
  • Pour les nombreux modes dérivés du mode CC (par exemple, mode c, mode java, mode php), personnalisez-le de c-offsets-alistsorte qu'il arglist-closesoit défini sur c-lineup-close-paren.
  • Pour le mode cperl, personnalisez-le cperl-indent-parens-as-blocksur true.
  • Pour le mode cperl, GNU Emacs 24.3+, réglé cperl-close-paren-offsetsur le négatif decperl-indent-level
  • Pour le mode perl dans GNU emacs 24.3 et supérieur, personnalisez-le perl-indent-parens-as-blocksur true.
  • Pour le mode python, ce comportement se trouve dans GNU emacs 24.3 et supérieur.

Vous pouvez personnaliser une variable en tapant M-x customize-variable. Vous pouvez également ajouter les lignes suivantes à votre ~/.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)

Existe-t-il un moyen de faire fonctionner cela en mode python avec Emacs 23.1.1?
ishmael

La solution pour Emacs 23.1.1 est simplement d'obtenir le dernier python-mode.el ici . Décompressez-le dans votre répertoire ~ / .emacs.d, puis dans votre fichier .emacs, ajoutez ceci:(add-to-list 'load-path (expand-file-name "~/.emacs.d/python-mode.el-6.1.3")) (require 'python-mode)
ishmael

Et comment faire pour que cela fonctionne en C ou C ++ ?
Prof. contrat Falken a violé

Existe-t-il un moyen d'obtenir l' autre style python-modesur Emacs> = 24,3?
mgalgs
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.