2011-02-26 7 views
5

편집하는 동안 파일 이름/경로를 인라인으로 삽입하는 방법을 찾고 있습니다. 인라인 ido 스타일의 파일 선택과 같은 것이 완벽 할 것입니다. 저기에 뭐 그런 것이 있습니까?Emacs in place 파일 이름/경로 삽입

+0

나는 작동하는 무언가를 썼지 만 꽤 중세 적이면서도 단순합니다. 더 나은 솔루션에 여전히 관심이있는 http://pastebin.com/tVHvM8st. – re5et

+0

* 현재 * 파일의 절대 경로 이름 또는 any를 완료와 함께 삽입 하시겠습니까? –

+0

은 완료와 함께 붙여 넣기와 동일합니다. 조금 좋아하는 뭔가가 좋을 것입니다. 아마도 인라인으로 미니 버퍼를 사용하지 않을 것입니다. – re5et

답변

4

을 할 것입니다. 이것은 기본적으로로드되지 않지만, comint-mode에 의해 제공됩니다. 따라서

(autoload 'comint-dynamic-complete-filename "comint" nil t) 
(global-set-key "\M-]" 'comint-dynamic-complete-filename) 

등을 ~/.emacs 등에 넣을 수 있습니다. 물론 자신이 선호하는 키 바인딩을 사용하십시오.

1

좋아, 당신은 단지 시점에서 현재 파일 이름을 삽입 할 경우, 다음

(insert (expand-file-name (buffer-file-name))) 

그것을해야한다.

어떤 경로에서든 파일을 찾으려면 find-file-noselect의 코드 중 일부를 files.el에 1714 줄에 복사하고 싶을 것입니다. 당신이 이것을 기능을 결합 할 경우 어느 경우

는, 당신은 아마 난 항상 이것에 대한 comint-dynamic-complete-filename을 사용

(defun insert-file-name-at-point() 
    (interactive) ....) 
+0

나는 emacs 24를 사용하고 있으며, find-file-noselect는 1768에서 시작한다. – re5et

1
(defun insert-file-name (file &optional relativep) 
    "Read file name and insert it at point. 
With a prefix argument, insert only the non-directory part." 
    (interactive "fFile: \nP") 
    (when relativep (setq file (file-name-nondirectory file))) 
    (insert file))