Emacs Заменить с учетом регистра String

Я только что задал связанный вопрос ( setq question ), но он сильно отличается, поэтому я решил перейти ответьте на этот вопрос.

В моем файле .emacs Я определяю привязку ключа к команде replace-string :

(define-key global-map "\C-r" 'replace-string)

replace-string выполняет базовый поиск и замену. Предполагая, что первая буква строки поиска является строчной, если case-fold-search равно nil , то replace-string выполняет поиск с учетом регистра, в противном случае выполняет поиск без учета регистра.

Проблема в том, что case-fold-search управляет «чувствительностью к регистру» обоих «поисков» (как команда search-forward ) и «поиск и замена» (например, команда replace-string ).

Вопрос в том, как сделать ПРОСТО командой replace-string ( или что-нибудь Cr связано с) с учетом регистра, оставив search-forward без учета регистра, как это по умолчанию.

Возможно, мне нужно будет установить case-fold-search на nil только для команда replace-string , но я не знаю, как это сделать.

11
задан Community 23 May 2017 в 12:31
поделиться