2014-01-29 5 views
1

디렉토리에 파일 이름 목록을 표시하고 그 중 하나를 선택하는 방법을 찾고있었습니다. Emacs에서 dired-read-file-name은 어떻게 사용합니까?

나는이 발견 https://github.com/lawlist/dired-read-file-name를하고 유망 듯, 그래서 난 내 emacs direcory에 복사 시도 :

(require 'dired-read-file-name) 

을하지만 난

error: Required feature `dired-read-file-name' was not provided 
+0

정상적인 방법은'read-file-name'을 호출하는 것입니다. 그래서'read-file-name'의 어떤 측면이 당신의 필요에 맞지 않는지 설명하고 싶을지도 모릅니다. – Stefan

+0

예. 사용자로부터 파일 이름을 읽으려면'read-file-name'을 사용하십시오. 텍스트에서 파일 이름을 픽업하고, 사용자 입력에 대한 기본값으로 사용하려면, 라이브러리'ffap.el'에서'find-file-at-point'와 친구들을 사용하십시오. 사용자가 다른 디렉토리 ("경로")를 사용하여 미리 정해진 * 절대 * 파일 이름 중에서 선택하도록하려면'completiting-read'를 사용하십시오. – Drew

+0

'dired-read-file-name'에 대한 github 저장소는'dired-get-marked-files' 함수에 기반한 개념을 사용하는 다양한 방법의 실제 예일뿐입니다. 'dired-get-marked-files'는 마킹 된 파일명의 목록을 반환합니다. 하나의 파일 만 선택하거나 표시 할 경우 그 결과는 변수'dired-one-file'에 설정된 문자열로 변환됩니다. . 내가 선호하는 동작과 일치하도록 엔터 키를 구성했지만 약간의 'elisp'코딩으로 사용자가 변경할 수 있습니다. 'lawlist-save-as' 함수는 아마도 당신이 추구하는 행동에 가장 가까운 예일 것입니다. – lawlist

답변

3

require이 작동하지 않을 오류 수 dired-read-file-name.el의 소스에 provides 표현이 없기 때문입니다. 다음을 추가 할 수도 있습니다.

(provide 'dired-read-file-name) 

파일 끝을 추가하십시오.

또는 load 이상의 낮은 레벨 load-file 일 수 있습니다.

this도 확인하십시오.

+0

감사합니다. 이제 작동합니다. 그러나 그것은 내가 찾고있는 것 같지 않습니다. 나는''(''(read-file-name ""))) (메시지 "% s"파일)'' dired에서 선택한 파일 이름 .. 그러나 그 대신 새로운 버퍼에 파일을 여는 것 같습니다. –

+0

@ HåkonHægland'dired-file-name-at-point' 또는 변수' 파일 이름 - 지점 - 기능'. 더 자세한 정보는'C-h v 파일 이름 - 포인트 - 포인트 함수 '를보십시오. – pmr

+1

'provide'가 존재하지 않습니다.'provide '를 사용하십시오. – Drew

관련 문제