by shigemk2

当面は技術的なことしか書かない

バッファ内で正規表現にマッチする行を抜き出す

;; バッファ内で正規表現にマッチする行を抜き出す
(defun petit-grep (pattern)
  (interactive "sPetit grep: ")
  (save-excursion
    (goto-char (point-min))
    (with-output-to-temp-buffer "*petit-grep*"
      (while (re-search-forward pattern nil t)
	(princ (thing-at-point 'line))))))
;; ナローイング対応
(defun petit-grep2 (pattern)
  (interactive "sPetit grep: ")
  (save-excursion
    (save-restriction
      (widen)
      (goto-char (point-min))
      (with-output-to-temp-buffer "*petit-grep*"
	(while (re-search-forward pattern nil t)
	  (princ (thing-at-point 'line))))))
  )

P112

Emacs Lispテクニックバイブル

Emacs Lispテクニックバイブル