ardggy's blog

Esc - Meta - Alt - Ctrl - Shift

2018-09-01から1ヶ月間の記事一覧

雑な init.el の括弧バリデーション

check-parens 関数をセーブ前に噛ませればいい。 (add-hook 'emacs-lisp-mode-hook 'check-parens-before-save) (defun check-parens-before-save () (add-hook 'write-contents-functions 'check-parens nil t) ; local-hook )

雑な JSON のバリデーション

syohex.hatenablog.com わざわざ jsonlint いれるのもいやだし、jq のエラーメッセージをパースするのもだるいしと思っていたら、json-pretty-print-buffer がエラーを吐いてくれるという。 バッファの中身を整形されるのが問題なら、テンポラリバッファでや…

前回終了時のフレームサイズで起動する

毎回左上の隅っこにちんまり起動するのは気が利かないと思う。 終了時点でのフレームサイズを保存しておいて、起動時に参照すればよろしいのではなかろうか。 というわけで下の設定を書いてみた。 ;;; last-frame ;; Emacs 終了時にフレームパラメータ top, …

Emacs の起動高速化の試み(1)

1,000 行ある init.el でも1秒ほどで起動できるようになった。 (M-x emacs-init-time 調べ) 結局のところ、いかにパッケージの読み込みを遅らせるかがキモなわけで、具体的には autoload, with-eval-after-load, after-init-hook, emacs-startup-hook, wind…

mouse-avoidance-mode

(mouse-avoidance-mode 'none) Emacs 26.1 にしてから、ドラッグしたフレームがあさっての方向に行ってばかりで困っていた。 emacs -Q & すると起こらないから、自分の init.el が悪い。 設定を一個ずつ評価していくと (mouse-avoidance-mode 'banish) に突…

shell-command-on-region で置換する

バッファに 1 + 1 と書いておいて、2 で置換できないかと思ったのでトライ。 置換処理はむしろ外部にまかせたい。vim における '<,'>! である。 C-u M-| CMD <RET> を使えばいけそうであるが、リージョン末尾が改行でない場合に、コマンドが受け付けてくれない場</ret>…