Emacs для начинающих



         

Поиск и замена текста


Команда поиска в большинстве версий Emacs реализована в виде, так называемого, "инкрементного поиска" ("incremental search"). Нажмите C-s и введите образец для поиска в строку минибуфера "n". По мере ввода текста курсор будет перемещаться по тексту выделяя обнаруженные с образцом совпадения.

Пример. Пусть требуется найти слово "hazel" в приведенном ниже тексте. После того, как в окне минибуфера будет напечатана буква "h", курсор перепрыгнет в следующую позицию после первой обнаруженной буквы "h" (см. рис. Результаты инкрементного поиска после ввода первого символа.).


Результаты инкрементного поиска после ввода первого символа.

После того, как будет набрана следующая буква - "a", курсор перепрыгнет в "n" слова "than" - следующую позицию после обнаруженного образца "ha" (см. рис. Результаты инкрементного поиска после ввода второго символа.).


Результаты инкрементного поиска после ввода второго символа.

Напечатайте "z" и курсор перейдет в "e" после фрагмента "haz" в слове "hazel" (см. рис. ).


Результаты инкрементного поиска после ввода третьего символа.

Если Emacs не смог найти образец в тексте, то в окне минибуфера появится соответствующее сообщение. Например, если вместо "haz" набрать "hazx", то в окне минибуфера появится сообщение:

Failing I-search: hazx

Если искомый фрагмент найден и нужно найти следующий, нажмите C-s еще раз. Чтобы остановить процесс поиска нажмите Enter.

Другая полезная клавиша при поиске - это клавиша Backspace. Ее используют, чтобы удалить последствия последней нажатой в окне минибуфера. Например, в рассмотренной выше ситуации если нажать Backspace после нажатия "z", когда Emacs нашел фрагмент "haz", курсор перепрыгнет обратно в слово "than", обнаруженное по фрагменту "ha".

Поиск по тексту в обратном направлении осуществляется точно также, как поиск в прямом направлении, с той лишь разницей, что для запуска команды поиска нужно нажать C-r. Точно так же поиск будет осуществляться в соответствии с вводимыми в образец буквами, пока либо Emacs не сможет найти образец в тексте, либо пользователь не прервет операцию поиска нажатием клавиши Enter. Точно также для поиска в обратном направлении работает клавиша Backspace.




Содержание  Назад  Вперед