I have several projects on several different VMs which I can ssh into. I also have a nice Vim workflow with plugins like fzf and coc.nvim on my local macbook.

I'd like to learn what is the best way to working on a remote project using my local IDE.

I've tried working on files using scp:// but this doesnt seem to work very well. netrw is slow, and tools like fzf are not available.

I know that I could use a dotfiles management tool to recreate my local IDE on a remote machine, but this seems laborious and not a good general solution.

I've also heard of rsync, but don't know anything about it yet. Maybe this is a good solution.

I'd like to know what other developers do in this situation?

  • 1
    I'm not 100% convinced this is on-topic or narrow enough, though I'm not yet convinced enough that it's off-topic/too-broad to close it immediately. Not sure how to craft the question better, either. (Part of my issue is it doesn't seem like it has much to do with vim, per se. This is evidenced by my solution would be: make those project git repositories, clone them, and develop locally, at least if editing over SSH is a no-go. netrw has not been unuseably slow in my experience.)
    – D. Ben Knoble
    Nov 15, 2021 at 23:14
  • 1
    Maybe a more focussed question would be "how can I use fzf.vim when the project is on a remote machine". Thanks for the thoughtful comment. I'd hoped that vim, or a vim plugin would provide functionality such that nerdtree and fzf.vim work for projects on remote machines.
    – john
    Nov 16, 2021 at 11:39
  • 2
    If scp:// is slow due to general latency issues than you probably don't have any option that doesn't involve having an actual local copy of the project hierarchy. If that's not the case then you might try mounting the remote folder as a file system using sshfs. That's a common approach.
    – B Layer
    Nov 16, 2021 at 15:45
  • For me this is a valid question and one that would need good answers.
    – mike
    Nov 21, 2021 at 7:28
  • I’ve been using unison (which is built on top of rsync) to keep the local and remote versions in sync. Im going to write a script that includes a file watcher that will trigger the unison sync whenever a file changes. This should remove any need to think about syncing. I wanted to reduce cognitive overhead to simply writing code and running code. I didn’t want a “syncing code” step.
    – john
    Nov 21, 2021 at 8:38

1 Answer 1


sshfs is a handy utility that allows one to locally mount a remote project, solving the problem. Granted, it's not as elegant as the plugins actually just working seamlessly on remote files.

  • Welcome to Vi and Vim!
    – D. Ben Knoble
    Aug 3, 2022 at 13:03
  • 1
    Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center.
    – Community Bot
    Aug 3, 2022 at 13:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.