Vim을 사용하여 인터넷에서 파일을 편집하려면 어떻게 해야 하나요?

Vim을 사용하여 인터넷에서 파일을 편집하려면 어떻게 해야 하나요?

현재 저는 SSH를 통해 서버에 연결하고 서버에서 Vim을 실행하여 이 작업을 수행합니다. 이것의 이점은 SCP를 통해 원격 서버에서 파일을 여는 번거로운 구문을 처리할 필요가 없고, 더 중요한 것은 서버의 파일 시스템을 매우 빠르게 탐색할 수 있다는 것입니다. 반면에 지연이 있어 편집이 약간 어렵습니다.

다수의 원격 파일을 편집하는 표준 방법은 무엇입니까?

답변1

당신은 그것을 사용할 수 있습니다SSHFS원격 홈 디렉터리를 로컬 폴더에 마운트합니다. 로컬 vim 현재 인프라를 사용하고 대기 시간이 짧은 이점이 있습니다.

답변2

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

:e scp://[email protected]/~/myfiles/whatever.file

scp보안 복사 계약. 동일한 방식으로 인증되므로 sshSSH 키를 사용할 수 있어야 합니다. 다양한 다른 프로토콜이 지원되지만(참고자료 참조 :help netrw-externapp) 이미 동일한 위치에서 ssh를 사용하고 있다면 scp가 가장 쉬울 것입니다.

이 방법으로 디렉토리를 탐색할 수 있습니다. 경로가 .로 끝나는지 확인하세요 /. 그렇지 않으면 vim이 해당 디렉토리를 새 파일로 변환합니다.

:wscp를 통해 자동으로 파일 쓰기. 어떤 이유로 인해 쓰기가 실패하면 상태 표시줄에 "shell return 1"과 같은 내용이 표시되므로 주의해야 합니다. 그러나 다음 사항에 유의하십시오.아니요vim은 이로 인해 결과가 발생할 수 있다는 사실을 모릅니다. 예를 들어 지금 종료해도 경고가 표시되지 않습니다. 특히 :wa많이 사용 하면 이를 놓치기 쉽습니다. ;| 이것이 유일한 경고입니다.

공식 문서를 참조하세요 :help netrw.

답변3

나는 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는 매우 효율적입니다. 그 밖에도 다양한 표시가 있습니다. 이것은 매우 복잡합니다.

답변4

가장 적합한 방법(SSH 방식)을 지정할 수도 있지만 여전히 편집 중인 파일의 특성에 따라 보안 정책에서 허용하는 경우 작은 파티션을 할당하고 이를 공유하고 거기에 파일을 넣을 수 있습니다. 이 제안에서는 아마도 NFS 또는 Samba를 사용하는 것이 가장 쉬울 것입니다. 그러나 테스트 파일 편집은 여전히 ​​UNIX의 일반적인 개념이므로 현재 방식을 유지해야 할 것입니다.

관련 정보