вопрос о новичке emacs - как искать в регионе

Если Вы послали по электронной почте кому-то, кому ссылка не была бы он иметь больше смысла включать описание путем фактического выписывания описания вместо того, чтобы делать другой синтаксический анализ человека к URL, где описание существует, и try-to-read-a-bunch-of-hyphenated-words-stuck-together.

14
задан Upgradingdave 12 December 2009 в 15:41
поделиться

2 ответа

Вы можете использовать эту комбинацию команд:

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)))

Теперь просто выполните Mx isearch-forward-region RET SOMETEXT или привязать его к привязке клавиш по вашему выбору, например:

(global-set-key (kbd "C-S-s") 'isearch-forward-region)
24
ответ дан 1 December 2019 в 06:43
поделиться

Как сказал Трей Джексон, вы можете использовать сужение к области и расширение . Я добавлю быстрых клавиш. Обратите внимание, что по умолчанию они отключены, и emacs интерактивно предложит "отключить" их при первом использовании.

C-x n n
C-s sometext
C-x n w
19
ответ дан 1 December 2019 в 06:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: