2014-01-03 4 views
0

При работе на occur в регулярном выражении рамка разбивается на два окна, а буфер occur показан ниже. Однако фокус клавиатуры все еще находится в исходном буфере. Как я могу изменить это поведение программно, так что буфер occur станет текущим буфером? Я попытался это:Как автоматически активировать буфер в Emacs?

(defun test-occur() 
    (interactive) 
    (occur "test") 
    (switch-to-buffer "*Occur*")) 

, но он не работает .. (То есть: теперь occur буфер показан как в верхней и нижней части окна)

ответ

1

Попробуйте это:

(defun test-occur() 
    (interactive) 
    (occur "test") 
    (other-window 1)) 
+0

Спасибо, что работает. Что, если там, где более двух окон. Как правильно выбрать? –

+1

Он выбирает самую последнюю. Происхождение должно быть самым последним в вашем случае –

2

Вам не нужно определять для этого отдельную функцию. Просто добавьте крючок:

(add-hook 'occur-hook (lambda() (other-window 1))) 
Смежные вопросы