バッファのサマリを別ウィンドウに表示するパッケージsummaryeの設定。texの執筆時はセクション名を頭出ししてくれるので重宝する。texに限らず、プログラミング言語など汎用的に使えるので便利である。
(defun se/quit-summary-item () (interactive) (view-mode 1) (View-quit)) (define-key help-map "M" 'se/make-summary-buffer) ;; (define-key summary-edit-mode-map (kbd "C-c C-q") 'se/quit-summary-item) (define-key summary-edit-mode-map (kbd "q") 'se/quit-summary-item)
あとはse/summary-display-formatを修正して、name-widthの部分を調整した:
(defun se/summary-display-format (cluster width &optional lineformatter cachedp) (let* ((str (se/cluster-display-string cluster)) (line-format "%c %3d: %s %3s") (name-width (- width 18)) (lin (cond ((null lineformatter) (save-excursion (set-buffer (se/cluster-buffer cluster)) (save-restriction (widen) (format "%3d" (count-lines (se/cluster-beg cluster) (se/cluster-end cluster)))))) ((stringp lineformatter) (format "%3s" lineformatter)) ((or (byte-code-function-p lineformatter) (symbolp lineformatter)) (format "%3s" (funcall lineformatter cluster)))))) (unless (and cachedp str) (setq str (se/untabify-string (se/string-cut-down-to (se/cluster-name cluster) name-width))) (setq str (concat str (make-string (- name-width (se/string-display-width str)) ?\ ))) (se/set-cluster-display-string cluster str)) (format line-format (or (se/cluster-marked cluster) ? ) (1+ (se/cluster-position cluster)) str lin)))