emacs에서 파일 경로를 어떻게 완성합니까? 입력하고 싶다고 가정 해보십시오. 해당 버퍼에서

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



답변

가능성 중 하나로 ”인 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)))

답변

나는 보통 입력 CtrlX CtrlF내가 파일을 열 것처럼, 대신 누르는 RETI 프레스 CtrlA CtrlK CtrlG의 I가 함께 편집 된 버퍼로의 경로를 복사하여 붙여 CtrlY.

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


답변

즉시 사용 가능한 바닐라

M-x comint-dynamic-complete-filename

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


답변

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


답변

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

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

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

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

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