括弧で迷子にならずにelispを編集する方法
linum.elのelispコードを修正しています: (custom-set-variables '(linum-format 'dynamic)) (defadvice linum-update-window (around linum-dynamic activate) (let* ((w (length (number-to-string (+ (count-lines (point-min) (point-max)) 1)))) (linum-format (concat " %" (number-to-string w) "d "))) ad-do-it)) に変更する(count-lines (point-min) (point-max))ことで、インデントが1つずつずれていたバグを修正できました(+ (count-lines (point-min) (point-max)) 1)。それは簡単でした。 ただし(concat " %" (number-to-string w) "2d ")、行番号のカウントが10未満の場合にif-conditional whereを追加して、最小幅が2になるように変更します。 これは簡単なはずです!1つの条件を追加し、連結をコピー/貼り付けます。ケーキだよね?つまり、何をすべきかはわかっていますが、elispに触れることはめったになく、多くの括弧で何かを変更しなければならないときはいつも気が遠くなります。 私が理解していることから、「正しい」スタイルは、インデントに基づいてコードを構造化し、それ自体ではなく行末で括弧をラップすることです。他の「C」スタイルの言語から来て、私はこの方法でコードを読み書きするのに苦労しています。だから私の質問は次のとおりです。私は何が間違っていますか?elispを編集してコードをナビゲートし、そこに座ってすべての括弧を数える必要がないようにするにはどうすればよいですか? elispで深くなりすぎるものを扱うときは、ドアを閉め、ブラインドを引っ張り、K&Rスタイルの括弧を配置する必要があります。 明らかに私はこれをすべて間違っています。どうすればこのようなelispを恐れることなくタッチできますか? 私の質問は、スタイルに関する質問としてではなく、elispをナビゲートおよび編集する方法です。私はすでにスタイルガイドとして次を使用しています:https : //github.com/bbatsov/emacs-lisp-style-guide 更新: …