The cursed way to use a neovim-IDE on the CLOUD

It was a stupid proof-of-concept attempt but it fucking works and I kinda like it.

  • So, I have my all-mighty-neovim-config, featuring a set of fully configured out-of-box IDE like perks.
  • And I have my thinkpad x200, whose HW is not quite capable for most modern IDE features.
  • Also I a pretty powerful VPS which is an overkill for what I use it for [1].

So I installed my schnitzel.nvim on the VPS, SSH (well I use Mosh but you get the idea) to attach to a tmux session on the server. Then I launched the neovim on the VPS. This is what it looks like:


Also this is the command I used to attach to the remote session:

alias vr="mosh -- tmux attach -t 0 -d"

Why not using vim’s builtin remote server support?
This still requires some degree of setup and configurations on the client side: at least you need to have your (n)vim installed and configured and some helper programs like neovim-remote.

This setup, on the other hand, requires ZERO dependency on the client side except for a SSH client. So basically I can use my favorite editor setup on a fairly powerful machine from any terminal machine.

Elephant in the room, how does it actually feel? lag?
Surprisingly it’s almost as smooth as on my local machine. The PING shows around 20~30 ms latency but I don’t even feel it while typing in insert mode. And the completion menu pops up as I type without any problem.

I notice that when exiting from insert mode to normal mode, the UI (i.e. status line) response is a little behind. I doubt if this is related to the status line plugin that I use. Nevertheless, this latency is only visual, for example when I press ESC, immediately followed by a command, that command is executed correctly in time regardless the visual latency of the status line UI.

[1] 4 Cores of E5-2660 and 8 GBs of RAM. This machine hosts a Pleroma instance and a Matrix instance plus several static sites.

[+] click to leave a comment [+]
the comment system on this blog works via email. The button
below will generate a mailto: link based on this page's url 
and invoke your email client - please edit the comment there!

[optional] even better, encrypt the email with my public key

- don't modify the subject field
- specify a nickname, otherwise your comment will be shown as   
- your email address will not be disclosed
- you agree that the comment is to be made public.
- to take down a comment, send the request via email.