2013-02-16 4 views
5

Emacs에서 가장 최근에 연 파일을 여는 명령이 있습니까? visit-most-recent-file처럼?Emacs에는 가장 최근에 열어 본 파일을 방문하라는 명령이 있습니까?

최근 파일 목록을보고 선택한 파일을보고 싶지 않습니다. 가장 최근에 열어 본 사이트를 자동으로 방문하고 싶습니다.

단일 키 입력으로 최근에 열린 파일 (현재 버퍼에없는 파일)을 방문하는 것이 좋습니다. 그런 다음 키 입력을 다시 호출하여 가장 최근에 연 파일을 방문 할 수 있습니다.

해당 키 입력을 4 번 (예 : A-UP) 누르면 최근 파일 목록의 상위 4 개 파일이 자동으로 열립니다.

최근 파일을 탐색하여 C-x C-f UP RET을 눌러이 작업을 수행 할 수 있지만 한 번의 키 입력으로 효과적 일 수 있습니다 (예 : A-UP). 당신은 아마 당신이에 저장된 (일시 물건에 관심이없는은 "최근"목록에 파일이하는 문제에 직면하게 될 것이다

(require 'recentf) 
(defvar my-recentf-counter 0) 
(global-set-key (kbd "<M-up>") 
     (lambda() 
      (interactive) 
      (setq my-recentf-counter (1+ my-recentf-counter)) 
      (recentf-open-most-recent-file my-recentf-counter))) 

:

답변

3

빌딩, 나는 매우 이것을 테스트하지 않았습니다

(defun visit-most-recent-file() 
    "Visits the most recently open file in `recentf-list' that is not already being visited." 
    (interactive) 
    (let ((buffer-file-name-list (mapcar 'buffer-file-name (buffer-list))) 
     most-recent-filename) 
    (dolist (filename recentf-list) 
     (unless (memq filename buffer-file-name-list) 
     (setq most-recent-filename filename) 
     (return))) 
    (find-file most-recent-filename))) 

.

+0

거룩한 암소, 그 작품! 고맙습니다! – incandescentman

2

당신은 recentf 패키지를 사용하여이 작업을 수행 할 수 있습니다 Emacs를 종료). recentf-exclude 변수를 사용하여 최근 열린 파일 목록에서 해당 파일을 제외하십시오. pokita의 대답 오프

+0

감사합니다. 이런 종류의 작업은 최근 f 목록을 재설정 할 방법이 필요하다는 것을 제외하고는 가능합니다. 즉 을 누르면 가장 최근의 파일이 성공적으로 열립니다. 그런 다음 필요한 내용을 변경하고 파일을 저장하고 버퍼를 강제 종료 한 다음 나중에 다시 열어야하는 경우 을 누르면 나중에 작업 한 파일을 다시 열지 않고 가장 최근의 다음 파일을 엽니 다. THAT FILE이 가장 최근의 파일이긴하지만. 해결책? – incandescentman

+1

당신은 (add-hook 'kill-buffer-hook (lambda() (setq my-recentf-counter 0)))) 할 수 있지만, 곧 다른 문제도 볼 수 있습니다. 난 그냥 최근 대화 형 - 완료를 사용하고 그걸로 행복 해요. 또는, ido를 사용하고 있으므로 새로운 Emacsen의 ido-virtual-buffers 변수를 살펴보십시오. – pokita