Ответ 1
Вы можете использовать эту комбинацию команд:
M-x narrow-to-region
C-s SOMETEXT
M-x widen
Хотя, такая тягостная, вот новая команда, которая делает это для вас автоматически.
(defun isearch-forward-region-cleanup ()
"turn off variable, widen"
(if isearch-forward-region
(widen))
(setq isearch-forward-region nil))
(defvar isearch-forward-region nil
"variable used to indicate we're in region search")
(add-hook 'isearch-mode-end-hook 'isearch-forward-region-cleanup)
(defun isearch-forward-region (&optional regexp-p no-recursive-edit)
"Do an isearch-forward, but narrow to region first."
(interactive "P\np")
(narrow-to-region (point) (mark))
(goto-char (point-min))
(setq isearch-forward-region t)
(isearch-mode t (not (null regexp-p)) nil (not no-recursive-edit)))
Теперь просто сделайте M-x isearch-forward-region RET SOMETEXT или привяжите его к привязке клавиш к вашему предпочтению, например:
(global-set-key (kbd "C-S-s") 'isearch-forward-region)