원격 파일의 파일 이름 완성


16

내 친구는 며칠 전에 원격 서버에서 파일을 열 수있는 Emacs에 대한 멋진 트릭을 보여 주었고 즉시 "vim에서도 그렇게 할 수있는 방법이 있어야한다"고 생각했습니다.

나는 그저 :e scp://user@server//filepath문제없이;) 할 수 있습니다. 그러나 그는 서버 이름을 입력 한 다음 내가 할 수 없었던 파일 경로와 이름 (탭 포함)을 완성 할 수있었습니다. 이것이 vim에서 수행 할 수 있는지 알고 있습니까?


1
나는 ctrlp가 그것을 지원할 수도 있었지만 ... 분명히 기능 요청 입니다.
muru

답변:


6

, vim의 내장 파일 관리자는 기본적으로 원격 브라우징을 지원하지 않기 때문에 현재 (2015 년) 기본적으로 제공되지 않습니다. .

2016 년 3 분기 업데이트 :

다양한 정도의 안락함 / 호환성 / 노력으로 몇 가지 해결 방법이 있습니다. 모두 함께 훌륭한 솔루션을 제공하지만 개별적으로 사용할 수도 있습니다.

환경을 수정하지 못하거나 .vimrc-only 만 할 수있는 경우 : vim 파일 관리자에서 // ?키를 사용하여 앞으로 / 뒤로 검색 할 수 TAB있으며 그 중 하나에 매핑 할 수 있습니다. 파일 시스템을 빠르게 탐색 할 때 들리는 것보다 더 강력합니다. 아래 설명.

기본 해결 방법 (NetRW가있는 표준 vim의 경우) :

  • vim을 원격 파일로 지정하지 마십시오
  • 예를 들어 "상단의"디렉토리로 포인트 $HOME: vim scp://files/또는 /:vim scp://files///
  • 원하는 최상위 폴더 ( /또는 $HOME) 에서 NetRW 플러그인이 열립니다 .
  • NetRW에서는 놀라 울 정도로 적은 키 입력으로 탐색 할 수 있습니다.
  • /etc/network/interfacesNetRW를 사용하여 원격을 편집하려면 다음 을 수행하십시오 /.

    /etENTERENTER/netwENTERENTER/intENTERt

?맨 처음부터 줄 바꿈하지 않고 항상 위쪽으로 다시 검색 할 수 있습니다 .

더 나은 , 거의 모방 TAB -완료 추가 .vimrc:

  • 지도 TAB/ NetRW에서 :autocmd filetype netrw noremap <buffer> <TAB> /
  • TreeView에 대한 NetRW를 구성하십시오. let g:netrw_liststyle=3
  • <C-E>원하는 경우 원격 VExplore에 대한 토글을 추가하십시오 (사용합니다).
  • 또한 추천 incsearch, ignorecasesmartcaseNetRW에 대한, 또는 모든 버퍼.

"기존의"탭 완성에 비해 위의 내용은 다르지만 매우 편안합니다.

참고 : 위의 모든 항목은 ~/.ssh/configUser, Port, Compression, JumpHost 와의 ssh 인증서 기반 암호없는 연결을 가정합니다 (ProxyCommand는 호스트 이름 / 별칭 만 필요하도록 설정됩니다).

이것 또한 이전에 이곳여기 에서 오프 사이트로 논의되었습니다


1
링크를 요약하여 트릭을 확장 할 수 있습니까? 사이트가 다운되거나 사망하는 경우 일반 링크는 그다지 유용하지 않습니다.
muru

NetRW가이 작업을 기본적으로 수행 할 수있을 때까지 이것이 내 최종 "솔루션"이라고 생각합니다. 계속해서 알려진 문제를 처리하지만 더 미묘한 버그, 수정 사항 및 개선 사항을 찾을 수 있습니다. 그들은 해결 / 통합 될 것입니다. 의견을 보내 주셔서 감사합니다.
Alex Stragies
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.