Facilitates navigating between tmux and nvim with C-hjkl

Overview

neovim-tmux-navigator

Usage

Use C-<hjkl> to navigate left, down, up, right, respectively. neovim-tmux-navigator will switch between vim splits and tmux panes seamlessly. If already at the top or bottom, continuing will zoom in tmux. If already at the left or right, continuing will switch tmux windows.

Installation

Make sure $HOME/.cargo/bin is in your PATH.

Nvim plugin

Add amiel/neovim-tmux-navigator to your vim plugins, however you like.

Some plugin managers allow running a post-install hook. For example, with packer:

{"amiel/neovim-tmux-navigator", run = "cargo install --path ."},

Building tool

For now, a rust toolchain is required to build.

cargo install --path /path/to/neovim-tmux-navigator

Tmux

Add the following to your .tmux.conf

# Smart pane switching with awareness of vim splits
bind -n C-k run-shell 'neovim-tmux-navigator client -U'
bind -n C-j run-shell 'neovim-tmux-navigator client -D'
bind -n C-h run-shell 'neovim-tmux-navigator client -L'
bind -n C-l run-shell 'neovim-tmux-navigator client -R'

TODO

  • Improve installation instructions
  • Improve installation simplicity (provide pre-built binaries)
  • Allow configuring off-edge behavior (zoom vs next/previous tmux window)
  • Improved error handling (using unwrap way to much)
  • Finish support for C-\ (previous pane)
  • Allow configuring keymaps
  • tmux plugin with tpm
  • nvim without tmux?
You might also like...
falling sand sim for tmux 3.4+
falling sand sim for tmux 3.4+

termsand this is VERY rough and hacked together in a couple hours it may not work exactly right for you how do i use it this thing is designed to work

Adds back-and-forth jumping between current and previous focused windows to Sway.

sway-focus-back-and-forth Implements back-and-forth movement between the current and the previous focused windows. It also can be seen as a fix to thi

convert nostr keys and note-ids between hex and bech32

Key-Convertr People are copy-pasting nostr private keys into webpages to convert between the original hex-encoding and bech32-encoding (specified in N

Fast conversion between linear float and 8-bit sRGB

fast-srgb8 Small crate implementing fast conversion between linear float and 8-bit sRGB. Includes API for performing 4 simultaneous conversions, which

A command line interface meant to bridge the gap between Rust and shell scripting

clawbang A command line interface meant to bridge the gap between Rust and shell scripting. Intended for use with HEREDOCs and shebangs: $ clawbang

For something between the likes of a toy bootloader or tiny kernel and Arch Linux.

For something between the likes of a toy bootloader or tiny kernel and Arch Linux.

 ⚡️ A blazing fast way of maintaining powerful notes with connections between them.
⚡️ A blazing fast way of maintaining powerful notes with connections between them.

Zettl ⚡️ A blazing fast way of maintaining powerful notes with connections between them. Installing Zettl To install Zettl, you will need the Rust too

List public items (public API) of library crates. Enables diffing public API between releases.

cargo-public-items List public items (the public API) of a Rust library crate by analyzing the rustdoc JSON of the crate. Automatically builds the rus

Command line linguistic tools: display pronunciation, convert between regional norms of orthography

Command line linguistic tools: display pronunciation, convert between regional norms of orthography; support for multiple modern and ancient languages: English, Latin, Polish, Quechua, Tikuna

Owner
Amiel Martin
Principal Software Engineer at Bento
Amiel Martin
nvim-oxi provides safe and idiomatic Rust bindings to the rich API exposed by the Neovim text editor.

?? nvim-oxi nvim-oxi provides safe and idiomatic Rust bindings to the rich API exposed by the Neovim text editor. The project is mostly intended for p

Riccardo Mazzarini 655 Jul 13, 2023
Navigating around TUM with excellence – An API and website to search for rooms, buildings and other places

NavigaTUM NavigaTUM is a non-official tool developed by students for students, that aims to help you get around at TUM. Feel free to contribute. Featu

TUM Developers 21 Dec 22, 2022
A tool for navigating and reorganizing Jiu Jitsu instructionals

Hackers Guide to Jiu Jitsu: The Application A tool watching and navigating Jiu Jitsu instructionals. Features: Scene detection Scene title recognition

Ioannis Canellos 6 Aug 20, 2022
This CLI utility facilitates effortless manipulation and exploration of TOML, YAML, JSON and RON files.

???????? This CLI utility facilitates effortless manipulation and exploration of TOML, YAML, JSON and RON files.

Moe 3 Apr 26, 2023
Peakrs Dataframe is a library and framework facilitates the extraction, transformation, and loading (ETL) of data.

Peakrs Dataframe Peakrs Dataframe is a library and framework facilitates the extraction, transformation, and loading (ETL) of data. Its first applicat

Max Yu 5 Sep 6, 2023
FastSSH is a TUI that allows you to quickly connect to your services by navigating through your SSH config.

Connect quickly to your services ?? FastSSH is a TUI that allows you to quickly connect to your services by navigating through your SSH config. Instal

Julien 85 Dec 14, 2022
A cli prepared with TUI that facilitates your operations.

⚠️ For linux only ⚠️ Helper CLI A cli prepared with TUI that facilitates your operations. Click me to learn more about the theme system. If you just w

Yiğit 4 Feb 1, 2022
A Rust-based tmux sessionizer

RUTS A Rust-based tmux sessionizer Installation Currently you can install this package by either compiling from source or from the AUR. AUR yay -S rut

Ethan Holz 2 Nov 6, 2022
Easy configurable tmux display-menu

tmux-easy-menu Easy configurable tmux display-menu Setup cargo build And run with ./target/debug/tmux-menu show --menu {path-to-your-config} Configu

null 18 Jan 23, 2023
Think tmux, then aim... lower

shpool shpool is a service that enables session persistence by allowing the creation of named shell sessions owned by shpool so that the session is no

null 14 Mar 4, 2024