emacs에서 파일 경로를 어떻게 완성합니까?


14

예를 들어 구성 파일을 편집 중이고 경로를 입력하고 싶다고 가정 해보십시오. 해당 버퍼에서 파일 경로를 완성 할 수있는 emacs 용 플러그인이 있습니까? 나는 이것을 검색했고 거기에 bazillion 완료 플러그인과 같은 것이 있습니다.


1
나는 당신이 무엇을 요구하는지 명확하지 않습니다. 최신 emacen은 미니 버퍼에서 경로를 완성합니다 ( find-file예를 들어 사용 하는 경우). 콘텐츠 버퍼에서 비슷한 동작을 원하십니까?
dmckee --- 전 운영자 고양이 새끼

1
@dmckee-그렇습니다. 실제로 내가 찾고있는 것입니다.
Jason Baker

@dmckee이 OS에만 해당됩니까? 우분투의 파일 찾기에서 파일 이름 완성이 있었지만 OSX에서는 완료되지 않았습니다. 예를 들어 루트에 "reference"라는 파일이 있고 미니 버퍼에 있습니다. "파일 찾기 : ~ /"이고 "ref"를 입력하면 완료가 예상되지만 아무 일도 일어나지 않습니다. 무언가를 설치해야합니까?
Zeynel

@Zeynel Mac OS에서도 잘 작동합니다. Apple이 설치된 버전 또는 homebrew 버전이 있습니다. 이전 컴퓨터의 핀크 버전으로 작업했습니다.
dmckee --- ex-moderator 고양이

@dmckee 이상한. 어쩌면 나는 새로운 질문을 할지도 모른다. 감사.
Zeynel

답변:


10

가능성 중 하나로 ''인 Hippie Expand를 사용해보십시오 try-complete-file-name. 히피 확장은 파일 이름 확장을 선호하기 위해 사용할 확장 기능의 순서와 목록을 변경할 수 있습니다.

또는 파일 이름 확장 만 수행하는 사용자 지정 래퍼를 작성할 수도 있습니다. 다음과 같은 것 :

(global-set-key (kbd "C-M-/") 'my-expand-file-name-at-point)
(defun my-expand-file-name-at-point ()
  "Use hippie-expand to expand the filename"
  (interactive)
  (let ((hippie-expand-try-functions-list '(try-complete-file-name-partially try-complete-file-name)))
    (call-interactively 'hippie-expand)))

14

나는 보통 입력 Ctrl- X Ctrl- F내가 파일을 열 것처럼, 대신 누르는 RETI 프레스 Ctrl- A Ctrl- K Ctrl- G의 I가 함께 편집 된 버퍼로의 경로를 복사하여 붙여 Ctrl- Y.

나는 이것을 자주 필요로하지 않지만, 실제로 더 나은 솔루션을 원한다면 Trey Jackson의 솔루션을 사용하여 확실히 사용할 것 hippie-expand입니다. 나는 방법에 대해 생각 hippie-expand이 때 첫 번째 응답을 할 수있는 더 좋은 방법이 될 수도 있지만, 나는 몰랐다 난 그냥 무엇을 썼다, 그래서 그것을보고 너무 게으른 내가 할.


어리 석고 우아하지만 작동합니다. 나는 때때로이 일을 스스로 인정해야한다. 그래도 더 깔끔한 솔루션에 관심이 있습니다 ...
dmckee --- 전 운영자 고양이 새끼

과연. 수동으로 입력하는 것보다 작업이 훨씬 적은 것처럼 보이지 않습니다.
Jason Baker

1
@Jason Baker : 정확한 파일 이름을 알고 있는지 또는 조금 탐색해야하는지에 따라 다릅니다.
Teddy

6

즉시 사용 가능한 바닐라

M-x comint-dynamic-complete-filename

comint 모드 외부에서 작동합니다. 물론, 당신은 (예를 들어, MX에 도착 적은 키 입력을 사용하는 미니 버퍼의 동적 확장을 사용할 수 있습니다 COMI NT- DY namic- C omplete -f ilename). 또는 자주 사용하는 경우을 사용하여 원하는 주요 순서에 바인딩 할 수 있습니다 global-set-key.


2

사용하여이 작업을 수행 할 수 있습니다 회사의 자동 완성 (가) 경우 company-files의 목록에있는 company-backends호출에 의해 명시 적으로 (내 설치시 기본값) 또는 company-files.


0

나는 최근 Tomohiro Matsuyama (@ m2ym)의 작품을 발견했으며 emacs 패키지의 품질에 깊은 인상을 받았습니다.

나는 대부분의 자동 완성 확장 기능으로 어려움을 겪었으며 모두 주요 단점이 있음을 알았습니다.

Tomo의 자동 완성 기능 ( http://auto-complete.org/doc/manual.html )을 확인하여 설치하기가 쉬웠 으며 ( Linux 인 경우) 현대적인 방식으로 많은 자동 완성 요구 사항을 처리합니다 .

물론, 버퍼 내 파일 이름 완성에 대한 귀하의 요청은 완벽하게 포함됩니다.

마지막으로 루비도 할 경우 RSense 확장 기능 을 놓치지 마십시오 . 다시, 그 종류의 최고.


링크가 끊어짐
xuhdev

그리고 여기 새로운 링크가 있습니다 : github.com/auto-complete/auto-complete/blob/master/doc/…
Krab
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.