Navegação semelhante a Vim no Adobe Acrobat Reader

6

O Adobe Acrobat Reader é atualmente um dos bons leitores de PDF disponíveis na plataforma Linux. O xpdf e o Evince fazem bem o seu trabalho, mas a apresentação do Acrobat parece ser melhor.

Estou acostumado com o editor Vim e quero os recursos de navegação do Vim (usando h , j , k e l para se movimentar) no Adobe Reader. Como eu faço isso?

Eu sei que o Evince oferece esse tipo de navegação.

    
por Senthil Kumaran 14.09.2009 / 13:15

7 respostas

3

Eu defini vim como navegação no Adobe Reader usando AutoHotKey . Você precisa configurar o mapeamento de chave para ficar ativo somente quando o Adobe Reader for a janela ativa atual, para que essa ligação de chave não afete outros aplicativos. O script AutoHotKey.ahk modificado a seguir faz isso

#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

O nome ahk_class pode ser determinado executando AutoIt3 Window Spy .

A única desvantagem é durante a operação Search/Find no Adobe Reader. Se o texto da pesquisa contiver h/j/k/l , ele será interpretado como teclas de seta. Você pode superar essa limitação suspendendo o autokey ou clicando em Pause Script na área de notificação da barra de tarefas. Melhor abordagem para superar essa limitação é usar letras maiúsculas (HJKL). Como as pesquisas da Adobe não diferenciam maiúsculas de minúsculas, a pesquisa também abrange letras hjkl. por exemplo, taKe corresponde a take

    
por 22.03.2013 / 15:18
1

Tanto quanto sei, isso não é possível. Há um projeto em andamento para criar um visualizador de pdf que tenha uma interface parecida com o vim, mas embora o desenvolvimento pareça estar bastante ativo, ele ainda tem um caminho a percorrer. Se isso é de algum interesse, você pode encontrá-lo aqui (versões estão disponíveis para Linux e Windows, embora o desenvolvimento seja focado no Windows):

link

Caso contrário, acho que você está preso com o evince ou usando as teclas do cursor.

    
por 14.09.2009 / 21:51
1

Esse script AutoHotKey que eu escrevi suporta hjkl, gg, G, C-e, C-y, C-f e C-b, junto com /, n e N para pesquisar. Pressionar / leva-o ao modo de busca, e Esc , Enter e Ctrl - [ irá colocá-lo de volta no modo normal. Se as coisas não estão funcionando como deveriam, tente pressionar Escape para voltar ao modo normal.

#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

Aqui está uma essência

Por favor, deixe breves relatos de bugs ou sugestões nos comentários!

Existem alguns problemas conhecidos ao manter pressionados os comandos de movimento Ctrl por longos períodos que têm a ver com o AutoHotKey não sendo capaz de traduzir a entrada rápido o suficiente, mas os comandos de movimento não Ctrl não devem ter esse problema.

Infelizmente, não sei o suficiente sobre o Linux ou o Mac OS X para poder fornecer soluções para eles também. Se alguém conseguir portar isso para outros sistemas operacionais, adicione sua própria resposta ou sugira uma edição para esta com instruções. :)

    
por 23.12.2013 / 05:10
1

Não tenho certeza se isso é possível.

Mas você deve tentar Zathura , que funciona muito bem e tenta imitar o vim - ele ainda tem um modo de linha de comando, acionado por : .

    
por 02.06.2014 / 15:59
1

No Linux, existe uma alternativa ao AutoHotkey, que é chamado AutoKey , e aqui está a minha solução:

(Acabei de fazer isso no Ubuntu 14.04 com AutoKey , embora não tenha sido atualizado por um longo tempo)

  • Instale o Autokey primeiro. Faça o download no link , extraia e siga README para compilar e instalar (eu escolhi a versão do Qt )
  • execute autokey no Iniciador ou execute-o no terminal em /usr/bin/autokey-qt
  • para usar j para descer, apenas
    • crie uma nova frase
    • nomeie mendeley - up ou seja significativo
    • na caixa de frase (a caixa de texto grande - que na verdade é um editor!), digite <up>
    • atribua j como tecla de atalho usando o botão Set
    • defina Filtro de janelas clicando no último botão Set
    • Salve e teste em seu visualizador de PDF favorito (o meu é o Mendeley porque ele suporta realce e anotação)
  • e também fiz k para subir, space para page down e shift + space para page up.

Ref:

  • link
  • Site oficial do Autokey
por 06.01.2015 / 12:25
1

Parece um trabalho para IronAHK !

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

Eu sei que a funcionalidade básica das teclas de atalho funciona, mas alguns dos comandos mais complexos ainda não são suportados pelo IronAHK.

    
por 12.11.2009 / 05:10
0

Meh, esta pergunta tem um ano, mas vou tentar.

Ligeiramente fora do tópico, porque eu não sei como fazer isso em acroread, mas você pode querer tentar Apvlv :

"Apvlv is a PDF/DJVU/UMD Viewer Under Linux/WIN32 and its behaviour [is] like Vim."

Se você estiver disposto a deixar o acroread, este leitor de pdf lhe dará muito amor por vim.

Apvlv é baseado em libpoppler (mesmo back-end como evince e agora também xpdf ), para que você possa encontrar os mesmos problemas de exibição mencionados. Mas certamente é mais rápido que o acroread , que é o mais lento da indústria! Boa sorte.

Aviso: Uma vez eu escrevi uma documentação para este projeto.

    
por 25.04.2011 / 20:10