2013-07-20 5 views
0

В Emacs, как я могу проинструктировать isearch-forward для поиска не от местоположения точки, а от начала файла?В Emacs, как искать с начала файла?

+0

Я вполне уверен, что вопрос был пару недель назад точно так же, как этот. Я не могу найти его прямо сейчас, но их ответ был немного лучше (он поддерживал C-g и push-mark). – Malabarba

ответ

5

Простейший вариант - просто переместить точку в начало файла с M- < перед вызовом isearch. Или вы можете написать команду, которая сделает это за вас:

(defun isearch-from-buffer-start() 
    (interactive) 
    (goto-char (point-min)) 
    (isearch-forward)) 
(global-set-key [(control s)] 'isearch-from-buffer-start) 
+0

Удивительный! Есть ли способ заставить его свалить меня обратно в то место, откуда я начал, когда я 'C-g' вернулся из поиска? – incandescentman

+0

Возможно, используя какой-то код? http://pastebin.com/xtxfQvqg – incandescentman

+1

Я никогда не использую 'Cg', но я полагаюсь на то, что' isearch' подталкивает метку к предыдущему местоположению точки, что означает, что я могу использовать 'Cx Cx' или' Cu C-SPC', чтобы восстановить точку в предыдущем местоположении. Добавление '(push-mark)' перед вызовом 'goto-char' будет делать то же самое здесь. – user4815162342

Смежные вопросы