Skip to content

Instantly share code, notes, and snippets.

@hidsh
Created October 31, 2020 01:49
Show Gist options
  • Save hidsh/25d4a447aace50238734e115e1eead94 to your computer and use it in GitHub Desktop.
Save hidsh/25d4a447aace50238734e115e1eead94 to your computer and use it in GitHub Desktop.
emacs: evilでexpand-regionしたあと"/"したら、選択したリージョンの文字列を検索してくれるようになるタレ(リージョン指定できるならexpand-regionでなくてもevilでなくてもいいはず)
(defun my-isearch-shit-at-point-insert-func ()
(remove-hook 'isearch-mode-hook #'my-isearch-shit-at-point-insert-func)
(when my-isearch-shit-at-point-str
(isearch-yank-string my-isearch-shit-at-point-str)
(setq my-isearch-shit-at-point-str nil)
(setq unread-command-events (listify-key-sequence (kbd "RET")))))
(defvar my-isearch-shit-at-point-str nil)
(defun my-isearch-shit-at-point ()
(interactive)
(when (use-region-p)
(let ((beg (region-beginning))
(end (region-end)))
(when (< beg end)
(setq my-isearch-shit-at-point-str (buffer-substring-no-properties beg end))
(cond ((and evil-mode (evil-visual-state-p)) (evil-normal-state nil))
(transient-mark-mode (transient-mark-mode -1)))
(add-hook 'isearch-mode-hook #'my-isearch-shit-at-point-insert-func))))
(call-interactively 'evil-search-forward))
(define-key evil-visual-state-map "/" #'my-isearch-shit-at-point)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment