A great replacement to Sublime Text 3’s SFTP plugin with a similar setup and workflow, but with the power of Vim.
Whether you’re a hardened vim veteran or new to vim for web development using SFTP is now the secure FTP standard over SSH – it’s become a common feature built into most graphical IDEs.
Doesn’t Vim have built-in FTP?
Vim does have a built in FTP function that allows editing of remote files – but it’s not quite up-to-scratch with the likes of other editors like “Sublime Text 3” and it’s SFTP plugin which allows you to work locally and quickly to upload files or folder with a key-combo, great for testing a mini-deployments without extra dependencies.
Vim’s Missing Plugin…
Surprisingly (…at least to me!) there didn’t seem to be an SFTP plugin with overwhelming usage or concensus… at least based on the holy-grail of vim plugin popularity – vimawesome.com.
This is probably due to the widespread adoption of more formal approaches to deploying code – via testing & deployment workflows/services or even just a more robust git push to production and post-push git functions on the remote server to deploy the latest “production” branch…
In general, production work should really be deployed using VCS like git or another full-fledged deployment workflow – manually uploading/downloading individual files and folders can get super-tricky super-quickly when multiple devs and multiple end-points are involved.
However… there are always quick jobs, or a small application, that just needs to be edited and uploaded now… and for that case, you need a good, simple SFTP plugin for vim…
The Best SFTP Plugin for Vim
The GitHub project
hesselbom/vim-hsftp fits perfectly – it’s by far the most used and simplest Vim SFTP plugin on Vim Awesome and as similar to the easy SFTP plugins for other editors too!
It lacked a few features, and some security considerations, like key-based passwordless entry to SFTP/SSH, and had a few pull-requests waiting to be tested and merged… but since the original maintainer hesselbom has moved on… I’ve stepped in to help develop and maintain the project.
We’ve now got some issue & pull-request organisation, versioning and a development branch ready for testing those new features and updates.
It’s a great small plugin to use, and will be a little more full-fledged in the near-future – check it out at https://github.com/hesselbom/vim-hsftp/