Какова привязка клавиш для ввода входной строки в Cs или Cr в Emacs? - PullRequest
1 голос
/ 01 марта 2011

При поиске строки в текущем буфере я знаю, что мы можем использовать C-s или C-r, тогда у вас будет подсказка минибуфера о том, какую строку искать. Я знаю, что мы можем использовать M-p или M-n, чтобы перейти к этому приглашению, но, к сожалению, emacs отобразит предыдущий поисковый запрос.

Мне не нравится использовать backspace для его удаления, есть ли ключ, по которому подсказку можно очистить от предыдущих поисков? Спасибо

Ответы [ 2 ]

4 голосов
/ 01 марта 2011

Вы говорите, что хотите изменить условие поиска, когда вы уже находитесь в процессе поиска?

Несколько простых опций:

  1. Выключениепоиска в первую очередь.Я обычно просто делаю что-то, что перемещает точку, например Ca .Затем, когда вы снова наберете Cs , приглашение будет пустым (если вы не наберете его дважды, в этом случае оно снова будет искать предыдущий шаблон).

    RET isearch-exit, но это имеет другой эффект без шаблона, и я предпочитаю последовательность.Вы также можете использовать Cg (isearch-abort), но вам может потребоваться вводить это повторно, в зависимости от того, что произошло до этого момента.

    ESC ESC ESC запускает isearch-cancel, что надежно "завершит поиск и вернется к исходной точке", что иногда может быть предпочтительнее, чем Ca , что оставит вас включеннымстрока, где вы его набрали.

  2. Вы можете редактировать рисунок на лету с помощью Me , а затем удалить все это с помощью обычных команд редактирования.После редактирования введите RET , чтобы продолжить поиск вновь отредактированного шаблона.

Тип Cs Ch Ch для встроенной справки.

1 голос
/ 01 марта 2011

Попробуйте связать ключ с командой Mx search-forward.

(global-set-key (kbd "C-s") 'search-forward)

Это автоматически сфокусируется на минибуфере и очистит предыдущий ввод.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...