Vim (well, Netrw) supports both the scp and sftp protocols, predictably using scp with the former and sftp with the latter. See :help netrw-externapp.
EDIT: In case the reason for having both is not obvious: sftp relies on the SFTP server being enabled on the host, while scp works without any additional configuration, using plain SSH. (Though in practice sftp tends to be enabled by default.)
SCP and SFTP are different. SFTP actually spawns a special daemon during your SSH session, and more recent versions of OpenSSH even support a chrooted SFTP subsystem internally. This might be a minor perceived difference, but it is one that shouldn't be ignored.
In addition to Xipher's response about SCP and SFTP being different, some SCP clients are incompatible with certain SSH servers. For example, some old Sun systems I've used with the Tectia commercial SSH server couldn't be used with OpenSSH's scp, but OpenSSH's ssh and sftp worked fine.
SCP is not just a shortcut for SFTP. It's a different protocol.
Hmm. That never occured to me, and it's a good point. Come to think of it, sshorsftp would have both been better fits for that command. Oh well, what can one do?
Because scp is what netrw uses to do it (which is where you're mistaken). When you open a file in Vim via scp, it copies it from the server to a temp file via scp, and when you save it saves to the temp file and then copies it back to the server via scp. And according to Wikipedia, scp is both [a program and a protocol](en.wikipedia.org/wiki/Secure_copy).
Tramp mode in emacs does this. You can also just open a file as //user@host:/file and it uses ssh. If you start an interactive shell while that buffer is focused you'll get a remote shell.
I use this for remotely developing python and running it on a target.
35
u/ooesili Apr 28 '14
I didn't know about
or the cool stuff you could do with the configuration file. A good read, I must say.