(defun first-line-filter (b e l)
(save-excursion
(goto-char (point-min)) ;goto first line
(let ((line (buffer-substring-no-properties (line-beginning-position) (line-end-position)))) ;;use it as pattern
(forward-line)
(keep-lines line (point) (point-max)))))
(define-minor-mode first-line-filter-mode "use the first line as filter whenever text insertion is happened."
nil " *FL"
nil (add-hook 'after-change-functions #'first-line-filter nil t))
;;之前傻乎乎地把keep-lines山寨了一遍,f**k
;; (defun first-line-filter (b e l)
;; (save-excursion
;; (goto-char (point-min)) ;goto first line
;; (let ((line (buffer-substring-no-properties (line-beginning-position) (line-end-position)))) ;;use it as pattern
;; (forward-line)
;; (forward-line) ;process other lines
;; (while (not (eobp))
;; (if (string-match line (buffer-substring-no-properties (line-beginning-position) (line-end-position)))
;; (forward-line) ;skip matched line
;; (progn (beginning-of-line) (delete-region (point) ;kill unmatched like grep
;; (min (1+ (line-end-position)) (point-max)))))))))
受够了每次向emacs粘贴xcode日志都要用keep-lines了。 (first-line-filter-mode)
最新推荐文章于 2019-07-15 22:11:10 发布