Vim과 같은 탐색 n Adobe Acrobat Reader


6

Adobe Acrobat Reader는 현재 Linux 플랫폼에서 사용할 수있는 우수한 PDF 리더 중 하나입니다. xpdf와 Evince는 잘 작동하지만 Acrobat의 표시는 더 나은 것 같습니다.

나는 Vim 편집기로 사용하고 난 (사용 빔 탐색 기능하려면 h, j, k, 및 lAdobe Reader에서 이동할을). 어떻게합니까?

Evince가 그런 종류의 탐색 기능을 제공한다는 것을 알고 있습니다.


superuser.com에 대해 몰랐습니다. 방금 질문을 저기로 옮겼습니다. 나는 여기서 돌보아 줄 누군가에게 관심을 가질 것입니다.
Senthil Kumaran

답변:


3

AutoHotKey를vim 사용하여 Adobe Reader에서 탐색과 같이 설정했습니다 . 이 키 바인딩이 다른 응용 프로그램에 영향을 미치지 않도록 Adobe Reader가 현재 활성 창인 경우에만 키 매핑이 활성화되도록 구성해야합니다. 다음 수정 된 AutoHotKey.ahk 스크립트가이를 수행합니다.

#IfWinActive ahk_class AcrobatSDIWindow
h::Send {Left}
Return

#IfWinActive ahk_class AcrobatSDIWindow
j::Send {Down}
Return

#IfWinActive ahk_class AcrobatSDIWindow
k::Send {Up}
Return

#IfWinActive ahk_class AcrobatSDIWindow
l::Send {Right}
Return

ahk_class이름은 실행에 의해 결정될 수있다 AutoIt3 Window Spy.

유일한 단점은 Search/FindAdobe Reader 에서 작동하는 동안 입니다. 검색 텍스트가 포함되어 h/j/k/l있으면 화살표 키로 해석됩니다. 자동 키를 일시 중단하거나 Pause Script작업 표시 줄 알림 영역에서 클릭하여이 제한을 극복 할 수 있습니다 . 이 한계를 극복하기위한 더 나은 접근 방식은 대문자 (HJKL)를 사용하는 것입니다. Adobe 검색은 대소 문자를 구분하지 않으므로 hjkl 문자도 검색합니다. 예를 들어 taKe는 take와 일치합니다.


1

내가 아는 한 불가능합니다. vim과 유사한 인터페이스를 가진 PDF 뷰어를 만드는 프로젝트가 진행 중이지만 개발이 활발한 것으로 보이지만 아직 갈 길이 없습니다. 관심이 있다면 여기에서 찾을 수 있습니다 (개발은 Windows에 중점을두고 있지만 Linux 및 Windows 용 버전 사용 가능).

http://code.google.com/p/apvlv/

그렇지 않으면, 당신이 evince 또는 커서 키를 사용하여 붙어 있다고 생각합니다.


1

필자가 작성한이 AutoHotKey 스크립트는 검색을 위해 hjkl, gg, G, Ce, Cy, Cf 및 Cb와 /, n 및 N을 지원합니다. 누르면 /검색 모드로 이동합니다, 그리고 Esc, Enter그리고 Ctrl- [일반 모드에서 다시 넣을 것입니다. 정상적으로 작동하지 않으면 Esc 키를 눌러 일반 모드로 돌아갑니다.

#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

여기 요지가 있습니다

의견에 짧은 버그 보고서 또는 제안을 남겨주세요!

AutoHotKey가 입력을 충분히 빨리 변환 할 수 없어서 Ctrl 이동 명령을 길게 누르는 것과 관련하여 알려진 일부 문제가 있지만 Ctrl 이동이 아닌 명령은이 문제가 없어야합니다.

안타깝게도 Linux 또는 Mac OS X에 대한 솔루션을 제공 할 수있는 충분한 지식이 없습니다. 누구든지 이것을 다른 운영 체제로 이식 할 수 있다면, 자신의 답변을 추가하거나 지침에 따라이 답변을 편집하십시오. :)


1

그것이 가능한지 확실하지 않습니다.

그러나 잘 작동하고 vim을 모방하려고하는 Zathura 를 시도해야 합니다. 명령 행 모드도 있습니다 :.


zathura를 사용하여 pdf 파일에 주석을 달 수 있기를 바랍니다 ..
Student

1

Linux에는 AutoHotkey에 대한 대안이 AutoKey있으며 여기에 내 솔루션이 있습니다.

( AutoKey오랫동안 업데이트되지 않았지만 우분투 14.04에서 방금 만들었습니다 )

  • 먼저 오토 키를 설치하십시오. https://code.google.com/p/autokey/downloads/list 에서 다운로드하고 압축을 푼 다음 README컴파일 및 설치 (Qt 버전을 선택)
  • 실행 autokey런처에서 중, 또는에서 터미널에서 실행/usr/bin/autokey-qt
  • j아래로 이동하는 데 사용
    • 새로운 문구를 만들다
    • 이름 mendeley - up이나 의미가있는 이름
    • 문구 상자 (큰 텍스트 상자 – 실제로 편집기 임)에 다음을 입력하십시오. <up>
    • 버튼을 j사용하여 핫키로 할당Set
    • 마지막 Set버튼 을 클릭하여 창 필터를 설정하십시오.
    • 선호하는 PDF 뷰어로 저장하고 테스트하십시오 (강조와 주석을 지원하기 때문에 멘델 리입니다)
  • 또한 k위로 이동, space아래 로 이동 및 위로 이동 shift + space했습니다.

참조 :


1

IronAHK 의 직업처럼 들립니다 !

k::send {up}
j::send {down}
l::send {right}
h::send {left}

이와 같은 기본 단축키 기능은 알고 있지만 IronAHK는 더 복잡한 명령 중 일부를 아직 지원하지 않습니다.


되어 k::Up구문은 지원되지?
Phoshi

0

Meh,이 질문은 1 살입니다. 그럼에도 불구하고 시도해 보도록하겠습니다.

acroread에서 어떻게 해야할지 모르기 때문에 주제를 약간 벗어 났습니다 . 하지만 Apvlv 를 사용해 볼 수도 있습니다 .

"Apvlv는 Linux / WIN32에서 PDF / DJVU / UMD 뷰어이며 그 동작은 Vim과 같습니다."

acroread를 기꺼이 남겨두고 싶다면이 PDF 리더는 많은 vim-love를 줄 것입니다.

Apvlvlibpoppler ( evince 와 동일한 백엔드 및 현재 xpdf )를 기반으로하므로 언급 한 것과 동일한 디스플레이 문제가 발생할 수 있습니다. 그러나 그것은 업계에서 가장 느린 acroread 보다 확실히 빨리 발생합니다 ! 행운을 빕니다.

면책 조항 : 나는이 프로젝트에 대한 문서를 한 번 썼습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.