emacsでは、閉じ括弧を開始行の開始位置に合わせるにはどうすればよいですか?


11

多くのemacsモードでの複数行関数呼び出しのデフォルトのインデントスタイルは、閉じ丸括弧を関数の他の引数と揃えることです。したがって、次のようになります。

function_one(
    arg1,
    arg2
    );

開始ブラケットが含まれている行の先頭に終了ブラケットが揃っていれば、私はそれを好みます。例えば:

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

どうすればよいですか?


1
私は何年も同じ衝動を無視してきました!今日はそれを修正する日です。
ファルケン教授の契約が

回答:


12
  • CCモードから派生した多くのモード(c-mode、java-mode、php-modeなど)c-offsets-alistについてarglist-closeは、がに設定されるようにカスタマイズしc-lineup-close-parenます。
  • cperl-modeの場合は、cperl-indent-parens-as-blocktrue にカスタマイズします。
  • cperl-modeの場合、GNU Emacs 24.3以降、以下cperl-close-paren-offsetのマイナスに設定cperl-indent-level
  • GNU emacs 24.3以降のperl-modeでは、perl-indent-parens-as-blocktrue にカスタマイズします。
  • pythonモードの場合、この動作はGNU emacs 24.3以降にあります。

と入力して変数をカスタマイズできますM-x customize-variable。または、次の行をに追加します~/.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)

これをEmacs 23.1.1のpythonモードで動作させる方法はありますか?
ishmael 2014年

Emacs 23.1.1の解決策は、ここで最新のpython-mode.elを取得することです。あなたの〜/ .emacs.dディレクトリに、それはuntarし、その後、あなたの.emacsファイルで、これを追加します(add-to-list 'load-path (expand-file-name "~/.emacs.d/python-mode.el-6.1.3")) (require 'python-mode)
イシュマエル

また、CまたはC ++でこれを機能させるにはどうすればよいですか?
ファルケン教授の契約が

Emacs> = 24.3 で他のスタイルを取得する方法はありますpython-modeか?
mgalgs 2018年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.