Skip to content
Vim: Upload and download files through sftp
Vim script
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


SFTP for Vim: Sync local and remote files/folders inside vim.


Create a config file called .hsftp in the root of your projects directory.

Example .hsftp config file - the amount of spaces do not matter:

user   username
pass   Sup3rS3cureP4s$W0rd
port   22
remote /var/www/
confirm_download 0
confirm_upload 0

vim-hsftp searches up the current files (current buffers) directory path for a .hsftp config file, and assumes it is located at the projects root directory. This resembles how the SFTP plugin for Sublime Text 3 works.

e.g. if the local file in vim is located at /example/dir/file.txt, and the example config file shown above is located at /example/.hsftp - when you run :Hupload, vim-hsftp will upload the local file to the host at the remote path /var/www/dir/file.txt via SFTP using the provided credentials.


Run the command or use the mapping in vim on the current file/current buffer.

Upload File

Upload the current file (current buffer) to the remote path.


Download File

Download the current file (current buffer) from the remote path.


Upload Folder

Upload all files in the current folder (current buffer) to the remote path.



A huge thanks to our contributors; @v9n for the upload folder feature, @bridgesense for vim compatibility and fixes!

Maintainers: @hesselbom, @hozza


  • attempt no password login (SSH key) PR#8
  • download directories PR#5
  • auto upload on save PR#15
  • background ops (run in background) I#2
You can’t perform that action at this time.