답변:
시도하십시오 openwith
. 다음 코드를 사용하면이 기능을 사용하여 PDF를 열 수 있습니다 evince
(원하는 PDF 뷰어로 변경).
(require 'openwith)
(openwith-mode t)
(setq openwith-associations '(("\\.pdf\\'" "evince" (file))))
find-file
. 예를 들어, 첨부 된 PDF가있는 이메일 (mu4e을 통해)을 보내면 첨부 된 PDF가 외부 편집기에서 열리고 송신이 실패합니다 (자세한 내용은 여기 참조).
많은 기능을 갖춘 PDF (강조 검색, 강조 표시 선택, 주석 달기, 컨텐츠 트리)가있는 PDF를 보려면 pdf-tools를 사용 하십시오 . 데모 에서 볼 수 있듯이 강조 표시와 함께 Isearch를 사용할 수 있습니다. Emacs는 이제 제가 가장 좋아하는 PDF 리더입니다. 책갈피 (+)를 사용하여 특정 PDF 페이지를 책갈피로 지정할 수도 있습니다.
편집 : helm
외부 프로그램을 사용하고 사용하려면 helm
이미 외부 파일을 여는 작업 메뉴가 Open file externally C-c C-x. C-u to choose again
있습니다. 시스템에서 사용 가능한 모든 프로그램 목록을 제공하고 선택할 수있는 멋진 Helm 인터페이스를 제공합니다. 일단 선택하면 Helm은 접두어 인수 C-u
로 명령을 실행하여 새 명령 을 선택할 때까지이를 기억합니다 .
pdf-tools
. 놀라운 패키지. 그것을 사랑하십시오! 귀하의 데모는 단지 무엇이 가능한지의 표면 ... :) 상처에도 불구하고,뿐만 아니라 중대하다
pdf-tools
Emacs Lisp 부분을 설치하고 사용하기 전에 저장소 를 복제하고 Emacs가 바이너리를 볼 수있는 곳이면 어디든지 C 부분을 컴파일하고 설치해야합니다.
에 대해 물었습니다 find-file
. 다른 사람들 (예 : Dan)이 그것에 대해 말한 것 외에도 option의 파일 형식 (예 : 확장명)과 관련된 응용 프로그램을 사용하여 파일을 여는 방법에 대해서도 알고 있어야합니다 dired-guess-shell-alist-user
. 그리고 MS Windows에서 Emacs를 사용한다면 Windows 파일 연결을 사용하여 파일을 여는 방법을 아는 것이 좋습니다.
dired-guess-shell-alist-user
표준 라이브러리를로드 한 후 옵션 을 사용할 수 있습니다 dired-x.el
. PDF 파일의 기본 연결은 variable에 정의되어 dired-guess-shell-alist-default
있으며 프로그램입니다 xpdf
(UNIX 및 GNU / Linux에서 사용 가능). dired-guess-shell-alist-user
예를 들어, 옵션 을 사용 하면이 연결을 목록에 추가하여 대신 Adobe Acrobat Reader와 연결할 수 ("\.pdf$" . "AcroRd32.exe")
있습니다.
그런 다음을 사용하여 Dired에서 PDF 파일을 열 수 있습니다 !
. 기본 프로그램을 "추측"으로 제공하며,이를 반복하여 액세스 할 수 있습니다 M-n
. 그래서 !
다음에 M-n
당신에게 쉘 명령을 줄 것이다 AcroRd32.exe
지점이 PDF 파일 이름 및 해당 명령 / 프로그램이 정규 표현식과 관련된 경우 경우 \.pdf$
.
Dired 외에도 dired-guess-shell-alist-user
, Bookmark + 라이브러리를 사용하는 경우 파일 연관을 책갈피 파일 핸들러로 사용할 수 있습니다 . 즉, PDF 파일 연관을 PDF 파일에 대한 책갈피에 적용 할 수 있습니다 . 의 현재 값이 dired-guess-shell-alist-user
option의 기본값으로 사용되어 bmkp-default-handlers-for-file-types
이를 제어합니다.
당신은 옵션을 생각할 수 있습니다 dired-guess-shell-alist-user
과 bmkp-default-handlers-for-file-types
에 관해서는 다소 유사 auto-mode-alist
. 그러나 파일 이름 패턴을 버퍼 모드에 맵핑하는 대신 파일 조치에 맵핑합니다. 또한 특정 명령을 사용할 때만 적용됩니다.
MS Windows를 사용 하는 경우 파일을 Dired로 열거 나 책갈피로 "점프"할 때 기존 Windows 파일 연결을 대신 사용할 수도 있습니다 . 이를 위해서는 라이브러리가 필요합니다 w32-browser.el
.
Dired의 경우 Dired + 라이브러리도 필요합니다. Dired 에서 Windows 파일 연결 사용을 참조하십시오 . 북마크를 들어, 당신은 또한 필요 북마크 + 볼 - 즐겨 찾기 파일 당신 할 수 없습니다 방문 이맥스 와 윈도우 파일 연결을 사용하여 열기 즐겨 찾기를 .
runner 사용하고 있습니다. 다음은 내 구성 파일의 발췌 부분입니다.
(defun my:open-file-with-dired (file)
"Ask dired how it would open FILE.
This code is useful if dired is well configured to open files
with external applications. I recommend using the `runner`
package to do so."
(use-package dired-aux)
(dired-do-async-shell-command
(dired-guess-shell-command (format "Open %s " file) (list file))
0
(list file)))
(add-to-list 'org-file-apps '(t . (my:open-file-with-dired file)))
(add-to-list 'org-file-apps '("\\.png\\'" . default))
플러그인없이 이것을 달성하는 나의 방법은 다음과 같습니다. Ubuntu 16.04 LTS에서 Emacs 25.3을 실행합니다. OS가 macOS 또는 Windows 인 xdg-open
경우 여기에 정의 된 첫 번째 기능을 변경해야합니다 . 이 링크 가 시작점으로 매우 유용 하다는 것을 알았습니다 .
(defun xdg-open (filename)
(interactive "fFilename: ")
(let ((process-connection-type))
(start-process "" nil "xdg-open" (expand-file-name filename))))
(defun find-file-auto (orig-fun &rest args)
(let ((filename (car args)))
(if (cl-find-if
(lambda (regexp) (string-match regexp filename))
'("\\.pdf\\'" "\\.docx?\\'"))
(xdg-open filename)
(apply orig-fun args))))
(advice-add 'find-file :around 'find-file-auto)
위의 코드가로드 된 후 C-x C-f
PDF 및 워드 파일 용 을 누르면 시스템 기본 앱을 사용하여 파일이 자동으로 열립니다.
난 정말 이맥스에서 제공하는 자문기구처럼, 참조 기능을 상담 (elisp) . 존재하는 기능을 호환 가능한 방식으로 조언함으로써 C-x C-f
새로운 기능 과 같은 공통 키를 다시 바인딩하는 것을 피 합니다.