당신은 스테판의 대답 @ 회신 의견에 질문 : 그리고 최근의 디렉토리의 목록을보기에 위에서 어떻게받을 수 있나요? -
대답은 당신이 작은 알려진 사실을 사용하는 것이입니다 dired
에 DIRNAME
인수가 (b)는 파일 (또는 디렉토리) 이름, Dired 다음의 (a) 새로운 Dired 버퍼 이름의 목록입니다 경우 파일/디렉토리 만 열립니다. IOW : 예를 들어
M-: (dired (cons DIRED-BUFNAME YOUR-LIST-OF-RECENT-DIRECTORIES))
: 당신이 라이브러리 Dired+를 사용하는 경우
M-: (dired '("My Dired Buffer" "https://stackoverflow.com/a/recent/dir/" "/another/recent1/" "/another/"))
당신은 dired
과 비 양성 접두사 인수를 사용하여 대화 형 등의 목록을 제공 할 수 있습니다.
하지만이 경우 가장 최근 디렉토리 목록을 수집 한 다음 Dired를 열어 명령을 작성하고 싶습니다. 이 작업을 수행해야합니다.
(defun dired-recent (buffer)
"Open Dired in BUFFER, showing the recently used directories."
(interactive "BDired buffer name: ")
(let ((dirs (delete-dups
(mapcar (lambda (f/d)
(if (file-directory-p f/d)
f/d
(file-name-directory f/d)))
recentf-list))))
(dired (cons (generate-new-buffer-name buffer) dirs))))
그게 효과가 있습니다. 그러나 바닐라 이맥스는 i
을 사용하여 Dired 버퍼의 default-directory
과 같은 디렉토리 트리에없는 디렉토리 목록을 삽입 할 수 없습니다. 즉 위의 코드는 정상적으로 작동하지만 목록에있는 디렉토리를 삽입 할 수는 없습니다.
라이브러리를로드하려면 dired+.el
을로드하십시오. Dired+은 또한 바닐라 처리에 대한 몇 가지 부적절한 점을 dired
으로 수정합니다.
위 코드는 과 함께 Dired +과 함께 제공해야합니다.
UPDATE는
난 그냥 Dired+이 추가되었습니다. 추가 된 명령은 diredp-dired-recent-dirs
및 diredp-dired-recent-dirs-other-window
입니다. 2
UPDATE 나는 간단 포함하거나 제외하기 위해 최근에 사용 된 디렉토리의 어떤 선택했다.접두어 arg를 사용하여 그러한 선택을 시작하십시오. 접두어를 붙이지 않으면 모든 최근 dir을 얻을 수 있습니다. 또한 접두사 arg를 사용하여 ls
스위치에 대한 프롬프트를 표시 할 수있게했습니다. R
가 + r
시프트입니다 C-x R
(같은 창) 및 C-x 4 R
(다른 창), 마지막으로, 나는 명령에 대한 바인딩을 추가
Open Dired in BUFFER, showing recently used directories.
You are prompted for BUFFER.
No prefix arg or a plain prefix arg (`C-u', `C-u C-u', etc.) means
list all of the recently used directories.
With a prefix arg:
* If 0, `-', or plain (`C-u') then you are prompted for the `ls'
switches to use.
* If not plain (`C-u') then:
* If >= 0 then the directories to include are read, one by one.
* If < 0 then the directories to exclude are read, one by one.
When entering directories to include or exclude, use `C-g' to end.
다음은 문서의 diredp-dired-recent-dirs
의 트링입니다.
'에서) (교체 - 정규 표현식 -에 - 문자열 집 "~ "path))'를'# 'abbreviate-file-name'과 함께 사용합니다. – Stefan