Quando eu M-x find-file
PDF, ele é aberto no Emacs. Embora isso seja legal, o visualizador de PDF do Emacs não possui muitos recursos que eu preciso e prefiro abrir PDFs em um programa externo. Como posso configurar o Emacs para usar um programa externo como visualizador padrão de PDFs?
42
find-file
. Por exemplo, o envio de emails com PDFs anexados (via mu4e) faz com que o PDF anexado seja aberto no editor externo e o envio falha (veja aqui para detalhes).openwith-mode
para desativá-lo: veja esta essência .Se você deseja visualizar o PDF com muitos recursos (realçando a pesquisa, realçando a seleção, anotando, árvore de conteúdo), use as ferramentas pdf . Como você pode ver na demonstração , eu posso usar o Isearch com destaque. O Emacs agora é meu leitor de PDF favorito. Você também pode marcar uma página PDF específica usando o Marcador (+).
EDIT : Se você usar
helm
e quer usar o programa externo,helm
já tem um no menu de ação para a abertura de arquivo externo:Open file externally C-c C-x. C-u to choose again
. O que faz é que ele oferece uma lista de todos os programas disponíveis no seu sistema e apresenta uma ótima interface do Helm para seleção; Depois de selecionar, o Helm se lembra dele até você executar o comando com o argumento prefixC-u
para selecionar um novo.fonte
pdf-tools
!! Pacote incrível. Adoro! Sua demonstração é tão grande assim, mesmo que apenas arranha a superfície do que é possível ... :)pdf-tools
repositório, compilar e instalar a parte C em qualquer lugar em que o seu Emacs possa ver o binário, antes de instalar e usar a parte Emacs Lisp.Você perguntou sobre
find-file
. Além do que outras pessoas (por exemplo, Dan) dizem sobre isso, vale a pena também saber sobre a abertura de arquivos usando um aplicativo associado ao tipo de arquivo (por exemplo, extensão) na opçãodired-guess-shell-alist-user
. E se você usa o Emacs no MS Windows, vale a pena saber como abrir um arquivo usando associações de arquivos do Windows.A opção
dired-guess-shell-alist-user
está disponível após o carregamento da biblioteca padrãodired-x.el
. A associação padrão de um arquivo PDF é definida na variáveldired-guess-shell-alist-default
e é programaxpdf
(disponível no UNIX e GNU / Linux). Usando opçãodired-guess-shell-alist-user
você pode, por exemplo, associá-lo ao invés com o Adobe Acrobat Reader, adicionando esta associação ao alist:("\.pdf$" . "AcroRd32.exe")
.Em seguida, você pode abrir um arquivo PDF no Dired usando
!
. Isso fornece programas padrão como "suposições", que você pode acessar repetindoM-n
. Então,!
seguido porM-n
você fornecerá o comando shellAcroRd32.exe
se point estiver em um nome de arquivo PDF e se esse comando / programa estiver associado ao regexp\.pdf$
.Além de Dired, você pode usar as associações de arquivos
dired-guess-shell-alist-user
como manipulador de arquivos de indicadores, ou seja, fazer com que a associação de arquivos PDF entre em vigor para quaisquer indicadores de arquivos PDF, se você usar a biblioteca Indicador + . O valor atual dedired-guess-shell-alist-user
é usado como o valor padrão da opçãobmkp-default-handlers-for-file-types
, que controla isso.Você pode pensar em opções
dired-guess-shell-alist-user
ebmkp-default-handlers-for-file-types
como algo análogoauto-mode-alist
. Mas eles mapeiam padrões de nome de arquivo para ações de arquivo, em vez de mapeá-los para modos de buffer. E eles só entram em vigor quando você usa determinados comandos.Se você usa o MS Windows, pode (ou também) tirar proveito das associações de arquivos existentes do Windows ao abrir um arquivo em Dired ou "pular" para um marcador. Para isso, você precisa de uma biblioteca
w32-browser.el
.Para Dired, você também precisa da biblioteca Dired + - consulte Usando associações de arquivos do Windows em Dired . Para marcadores, você também precisa de Marcador + - consulte Marcando arquivos que você não pode visitar com o Emacs e abrindo marcadores usando associações de arquivos do Windows .
fonte
Eu estou usando corredor . Aqui está um trecho do meu arquivo de configuração
fonte
Minha maneira de conseguir isso sem plugins é o seguinte. Eu corro o Emacs 25.3 no Ubuntu 16.04 LTS. Se o seu sistema operacional for macOS ou Windows, você definitivamente precisará alterar a primeira função
xdg-open
definida aqui. Eu achei este link muito útil como ponto de partida.Depois que o código acima é carregado, quando você pressiona o
C-x C-f
arquivo PDF e Word, ele abre automaticamente o arquivo usando o aplicativo padrão do sistema.Eu realmente gosto do mecanismo de aconselhamento fornecido pelo Emacs, consulte Funções de aconselhamento (elisp) . Ao aconselhar a função existente de maneira compatível, evito vincular novamente as chaves comuns, como
C-x C-f
a nova função.fonte