whatisgithub

What is remote-ssh.nvim?

gnitoahc/remote-ssh.nvim — explained in plain English

Analysis updated 2026-06-24

21RustAudience · developerComplexity · 3/5Setup · moderate

In one sentence

Rust binary that gives Neovim a VS Code style Remote-SSH experience by running the editor and language servers on the remote host with the local Neovim as UI only.

Mindmap

mindmap
  root((remote-ssh-nvim))
    Inputs
      SSH target
      Saved session id
    Outputs
      Remote Neovim UI
      Reused SSH tunnel
    Use Cases
      Edit remote project
      Resume workspace
      Avoid local plugin install
    Tech Stack
      Rust
      Neovim
      SSH ControlMaster
      RPC
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Edit a large remote project in Neovim without installing plugins on your laptop

USE CASE 2

Run language servers and indexing on a beefy remote machine while keeping the local UI fast

USE CASE 3

Resume a saved remote workspace by name from a session picker

USE CASE 4

Replace SSHFS or copy-paste workflows with a single rnvim command

What is it built with?

RustNeovimSSHCargo

How does it compare?

gnitoahc/remote-ssh.nvimdanilaa1/auditkitguozijn/agentd
Stars212121
LanguageRustRustRust
Setup difficultymoderatemoderatemoderate
Complexity3/53/54/5
Audiencedeveloperops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Needs SSH access to a Linux or macOS host where the rnvim-server binary is auto-bootstrapped on first run.

So what is it?

remote-ssh.nvim is a command line tool that gives Neovim users a remote development experience similar to the Remote-SSH feature in Visual Studio Code. Neovim is a popular terminal text editor. The usual problem with editing files on a remote server is either copying them back and forth, mounting the remote filesystem over SSHFS and suffering slow language server indexing, or installing a heavier plugin stack on both ends. This project takes a different route. You run a single binary called rnvim with a target like rnvim user@host, and it sets up everything for you. The headline claim is zero local footprint. You do not need to install any Neovim plugins on your local machine, and your local init.lua stays untouched. All the heavy work, including language servers, plugins, and project indexing, runs on the remote machine. Your local Neovim only renders the user interface, which the README says keeps the laptop cool and saves battery. The tool uses Neovim's built-in remote procedure call protocol along with an SSH ControlMaster connection that is reused for the whole session, so latency stays low. When you run rnvim user@host, the tool walks through six steps. First it opens an SSH ControlMaster connection so you only authenticate once. Then it checks if the rnvim-server binary is installed on the remote host, and if not, it bootstraps it automatically. Next it shows a session picker so you can either resume a saved workspace or start a new one. It launches a headless Neovim instance on the server, opens a secure tunnel from the remote RPC port to localhost, and finally hooks your local Neovim UI up to the remote instance. Installation has two paths. The recommended way is to download the prebuilt rnvim binary from the GitHub Releases page and put it on your PATH. If you have the Rust toolchain installed, you can also build it from source with cargo build -p rnvim --release. The remote side supports Linux on x86_64 and aarch64, plus macOS on Intel and Apple Silicon. The tool also includes simple session management commands. rnvim session list shows every saved remote workspace, and rnvim session rm removes one by id or name. The README includes a comparison table against three earlier Neovim remote projects, explaining where each one falls short for large remote projects. Architecture and contributor details live in CONTRIBUTING.md.

Copy-paste prompts

Prompt 1
Install rnvim on macOS and connect my local Neovim to a Linux dev server
Prompt 2
Build rnvim from source with cargo build -p rnvim --release and put it on my PATH
Prompt 3
Show me how rnvim bootstraps the rnvim-server binary on the remote host
Prompt 4
Set up SSH ControlMaster so rnvim only prompts for my passphrase once per session
Prompt 5
List and remove saved remote workspaces with rnvim session list and rnvim session rm

Frequently asked questions

What is remote-ssh.nvim?

Rust binary that gives Neovim a VS Code style Remote-SSH experience by running the editor and language servers on the remote host with the local Neovim as UI only.

What language is remote-ssh.nvim written in?

Mainly Rust. The stack also includes Rust, Neovim, SSH.

How hard is remote-ssh.nvim to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is remote-ssh.nvim for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.