Этот скрипт AutoHotKey, который я написал, поддерживает hjkl, gg, G, Ce, Cy, Cf и Cb, а также /, n и N для поиска. Нажатие / переводит вас в режим поиска, а клавиши Esc, Enter и Ctrl - [ возвращают вас в обычный режим. Если все работает не так, как должно, попробуйте нажать Escape, чтобы вернуться в обычный режим.
#IfWinActive ahk_class AcrobatSDIWindow
h::
if (inAcrobatSearchMode)
Send h
else Send {Left}
return
j::
if (inAcrobatSearchMode)
Send j
else Send {Down}
return
k::
if (inAcrobatSearchMode)
Send k
else Send {Up}
return
l::
if (inAcrobatSearchMode)
Send l
else Send {Right}
return
n::
if (inAcrobatSearchMode)
Send n
else Send {F3}{Esc}
return
+n::
if (inAcrobatSearchMode)
Send N
else Send +{F3}{Esc}
return
+g::
if (inAcrobatSearchMode)
Send G
else Send {End}
return
; see http://stackoverflow.com/questions/1794258/detect-a-double-key-press-in-autohotkey
g::
if (inAcrobatSearchMode)
Send g
else {
if (A_PriorHotkey <> "g" or A_TimeSincePriorHotkey > 400) {
; Too much time between presses, so this isn't a double-press.
KeyWait, g
return
}
Send {Home}
}
return
/::
if (inAcrobatSearchMode)
Send /
else {
inAcrobatSearchMode := true
Send ^f
}
return
Esc::
inAcrobatSearchMode := false
Send {Esc}
return
^[::
inAcrobatSearchMode := false
Send {Esc}
return
Enter::
if (inAcrobatSearchMode) {
inAcrobatSearchMode := false
}
Send {Enter}
return
;go back into normal mode after scrolling with any control command
^e::
inAcrobatSearchMode := false
Send {Esc}{Down}
return
^y::
inAcrobatSearchMode := false
Send {Esc}{Up}
return
^f::
inAcrobatSearchMode := false
Send {Esc}{PgDn}
return
^b::
inAcrobatSearchMode := false
Send {Esc}{PgUp}
return
#IfWinActive
Вот гист
Пожалуйста, оставляйте краткие сообщения об ошибках или предложения в комментариях!
Существуют некоторые известные проблемы с удерживанием команд перемещения Ctrl в течение длительных периодов, которые связаны с тем, что AutoHotKey не может переводить ввод достаточно быстро, но у команд перемещения без Ctrl такой проблемы быть не должно.
К сожалению, я не знаю достаточно о Linux или Mac OS X, чтобы быть в состоянии предоставить решения для них. Если кому-то удастся перенести это на другие операционные системы, пожалуйста, добавьте свой собственный ответ или предложите изменить его с инструкциями. :)