explaingit

gnitoahc/remote-ssh.nvim

24RustAudience · developerComplexity · 3/5ActiveSetup · moderate

TLDR

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

Things people build with this

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

Tech stack

RustNeovimSSHCargo

Getting 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.

In plain English

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
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.