Vim을 사용하여 네트워크에서 파일을 편집하려면 어떻게해야합니까? Vim을 실행하고 있습니다.

현재 서버에 SSH로 연결하여 서버에서 Vim을 실행하고 있습니다. 이것은 SCP를 통해 원격 서버에서 파일을 여는 성가신 구문을 처리 할 필요가 없으며, 더욱 중요한 것은 서버의 파일 시스템을 실제로 빠르게 탐색 할 수 있다는 이점이 있습니다. 반면에 지연이 발생하여 편집이 어려워집니다.

많은 원격 파일을 편집하는 일반적인 방법은 무엇입니까?



답변

SSHFS 를 사용 하여 로컬 폴더에 원격 홈을 마운트 할 수 있습니다 . 현재 인프라를 사용하고 로컬 vim의 대기 시간이 짧다는 이점이 있습니다.


답변

로컬 vim 또는 gvim을 사용하여 원격으로 편집 할 수 있습니다.

:e scp://me@someplace.else/~/myfiles/whatever.file

scpA는 보안 복사 프로토콜 . sshssh 키 와 같은 방식으로 인증 되므로 ssh 키 등을 사용할 수 있어야합니다. 다양한 다른 프로토콜이 지원 :help netrw-externapp되지만 (참조 ) scp가 이미 같은 위치에 ssh를 사용하는 경우 scp가 가장 쉽습니다.

이 방법으로 디렉토리를 찾아 볼 수 있습니다 /. 경로가로 끝나는 지 확인하십시오 . 그렇지 않으면 vim은 새 파일로 바꿉니다.

:wscp를 통해 파일을 자동으로 씁니다. 어떤 이유로 쓰기에 실패하면 상태 표시 줄에 “쉘 반환 1″종류의 것이기 때문에 주목해야합니다. 그러나 알아 차리지 않으면 vim은 알지 못하며 결과가 발생할 수 있습니다. 예를 들어, 지금 종료하면 경고하지 않습니다. :wa많이 사용 하면 이것을 놓치기 쉽습니다 . | 그것이 내가 가진 유일한 경고입니다.

공식 문서는을 참조하십시오 :help netrw.


답변

rsync를 사용합니다. 변경된 내용 만 전송합니다. 이렇게 :

rsync -e ssh -va remoteuser@remotehost:remotedir .

그런 다음 여가 시간에 파일을 로컬에서 편집하십시오. 지연이 없습니다. 커밋하기 전에 모든 파일을 검사해야합니다.

rsync -e ssh -va . remoteuser@remotehost:remotedir

나는 당신이 먼저 로컬 디렉토리를 만들고 있다고 가정합니다 cd. 파일 제거를 처리 할 수도 있지만 잘못된 디렉토리에서 실행하면 전체 디렉토리 트리가 손상 될 수 있으므로주의해야합니다.

rsync -e ssh -va --delete . remoteuser@remotehost:remotedir

내가하는 일은 먼저 ‘n’플래그를 사용하여 “건식 모드”에서 실행하는 것입니다.

rsync -e ssh -van --delete . remoteuser@remotehost:remotedir

실제 상황이라면 어떻게했는지보고 할 것입니다. 보고 된 목록에 만족하면 다시 실행하고 ‘n’플래그를 제거하십시오.

rsync는 매우 효율적입니다. 다양한 다른 플래그도 있습니다. 꽤 정교합니다.


답변

SSH 방법 중 가장 적절한 방법으로 이름을 지정할 수 있지만 여전히 편집 된 파일의 특성에 따라 작은 파티션을 할당하여 공유 정책을 작성하고 파일을 파일에 넣을 수 있습니다 (물론 보안 정책에서이 작업을 허용하는 경우). 이 제안을 위해 NFS 또는 Samba를 가장 쉽게 사용할 수 있지만 여전히 테스트 파일 편집은 UNIX의 일반적인 개념이므로 현재와 같이 유지해야 할 수도 있습니다.