(defmacro -defreplace (name search replace) `(evil-define-operator ,(make-symbol (concat "replace:" (symbol-name name))) (beg end) :type inclusive :repeat nil (interactive "") (replace-regexp ,search ,replace t beg end))) ;;;; HTML ;;;; ;; Replace smart quotes and other MS Word verbiage into plain text (defun replace:plain-textify (beg end) (interactive "r") (replace-regexp "…" "..." nil beg end) (replace-regexp "[‘’]" "'" nil beg end) (replace-regexp "[“”]" "\"" nil beg end)) ;; Email address with mailto link (defun replace:email2mailto (beg end) (interactive "r") (replace-regexp "\\b\\([a-zA-Z0-9._+-%]+@[a-zA-Z0-9-.]+\\.[a-zA-Z]+\\)\\b" "\\1" nil beg end)) ;; Link with anchor (defun replace:url2anchor (beg end) (interactive "r") (replace-regexp "\\bhttps?://.+?\\b" "\\1" nil beg end)) (provide 'my-defuns) ;;; my-defuns.el ends here