내 친구는 며칠 전에 원격 서버에서 파일을 열 수있는 Emacs에 대한 멋진 트릭을 보여 주었고 즉시 "vim에서도 그렇게 할 수있는 방법이 있어야한다"고 생각했습니다.
나는 그저 :e scp://user@server//filepath
문제없이;) 할 수 있습니다. 그러나 그는 서버 이름을 입력 한 다음 내가 할 수 없었던 파일 경로와 이름 (탭 포함)을 완성 할 수있었습니다. 이것이 vim에서 수행 할 수 있는지 알고 있습니까?
내 친구는 며칠 전에 원격 서버에서 파일을 열 수있는 Emacs에 대한 멋진 트릭을 보여 주었고 즉시 "vim에서도 그렇게 할 수있는 방법이 있어야한다"고 생각했습니다.
나는 그저 :e scp://user@server//filepath
문제없이;) 할 수 있습니다. 그러나 그는 서버 이름을 입력 한 다음 내가 할 수 없었던 파일 경로와 이름 (탭 포함)을 완성 할 수있었습니다. 이것이 vim에서 수행 할 수 있는지 알고 있습니까?
답변:
예 , vim의 내장 파일 관리자는 기본적으로 원격 브라우징을 지원하지 않기 때문에 현재 (2015 년) 기본적으로 제공되지 않습니다. .
2016 년 3 분기 업데이트 :
다양한 정도의 안락함 / 호환성 / 노력으로 몇 가지 해결 방법이 있습니다. 모두 함께 훌륭한 솔루션을 제공하지만 개별적으로 사용할 수도 있습니다.
쉘 init 파일에 사용자 레벨 afuse
/ sshfs
데몬 설정
예를 들어 소스에서 몇 줄의 스크립트를 사용 .profile
하면 디렉토리 아래에 온 디맨드 자동 마운터를 설정할 수 있습니다 ~/scp/
. Unix & Linux SE 에 게시 된 이 통합에 대한 자세한 내용 . 이것은 가장 편안한 선택이, 원격 파일을 로컬 "표시"이지만, 필요 하고 당신에게 사용할 수.afuse
sshfs
원격 파일 경로에 대한 설정 쉘 명령 행 완료
bash 용 완성 함수 패키지에는 설계 ssh
및 scp
완성을 위한 몇 가지 기능이 있습니다. 랩퍼 기능을 사용하여 vim()
원격 경로를 vim
예상 형식으로 처리하여 TAB 완료 원격 파일을 제공하는 데 사용할 수 있습니다vim
. 이 접근법의 사소한 단점도 여기에 자세히 설명되어 있습니다. 별다른 상황이없는 경우. 요구는 bash-completion
설치 또는 다른 쉘에 대한 동등한 및 적응합니다.
환경을 수정하지 못하거나 .vimrc
-only 만 할 수있는 경우 : vim 파일 관리자에서 // ?키를 사용하여 앞으로 / 뒤로 검색 할 수 TAB있으며 그 중 하나에 매핑 할 수 있습니다. 파일 시스템을 빠르게 탐색 할 때 들리는 것보다 더 강력합니다. 아래 설명.
$HOME
: vim scp://files/
또는 /
:vim scp://files///
/
또는 $HOME
) 에서 NetRW 플러그인이 열립니다 ./etc/network/interfaces
NetRW를 사용하여 원격을 편집하려면 다음 을 수행하십시오 /
.
/etENTERENTER/netwENTERENTER/intENTERt
?
맨 처음부터 줄 바꿈하지 않고 항상 위쪽으로 다시 검색 할 수 있습니다 .
더 나은 , 거의 모방 TAB -완료 추가 .vimrc
:
autocmd filetype netrw noremap <buffer> <TAB> /
let g:netrw_liststyle=3
<C-E>
원하는 경우 원격 VExplore에 대한 토글을 추가하십시오 (사용합니다).incsearch
, ignorecase
및 smartcase
NetRW에 대한, 또는 모든 버퍼."기존의"탭 완성에 비해 위의 내용은 다르지만 매우 편안합니다.
참고 : 위의 모든 항목은 ~/.ssh/config
User, Port, Compression, JumpHost 와의 ssh 인증서 기반 암호없는 연결을 가정합니다 (ProxyCommand는 호스트 이름 / 별칭 만 필요하도록 설정됩니다).