#neovim #unix-domain-socket #tmux #linux #procfs #unix-socket #proc

app neovim-ctrl

A program to find and interact with a Neovim instance running in a particular terminal

4 releases

0.2.1 Oct 6, 2024
0.2.0 Jan 20, 2024
0.1.1 May 26, 2020
0.1.0 Feb 7, 2019

#102 in Unix APIs

GPL-3.0-or-later

24KB
560 lines

pipeline crates.io rustc

neovim-ctrl

neovim-ctrl is a program to find and interact with a Neovim instance running in a particular terminal. It works with Neovim 0.9.0 and higher.

The program supports two commands:

  • find-socket to discover the Unix domain socket of a running Neovim
  • change-window to change the currently selected window/split based on a key sequence

Usage

The program requires the TTY for which to find the (first) running Neovim process the first argument.

# Find the path to the Unix domain socket for a nvim process on TTY
# /dev/pts/3:
$ nvim-ctrl find-socket /dev/pts/3
> /tmp/nvimfMfu99/0
# Send Ctrl-w-h to the Neovim on /dev/pts/7:
$ ctrlw=$(echo -n -e "\\x17")
$ nvim-ctrl change-window /dev/pts/7 "${ctrlw}h"
# Exit code 0 indicates that the window was actually changed.
$ echo $?
> 0

$ nvim-ctrl change-window /dev/pts/7 "${ctrlw}h"
> Error: nothing changed
# Exit code 1 means that no change happened.
$ echo $?
> 1

Dependencies

~0.7–1.1MB
~24K SLoC