Skip to content
Seamlessly navigate Emacs and tmux splits
Emacs Lisp
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE Switch to MIT LICENSE Sep 1, 2019 Detect neovim (#5) Oct 24, 2016
navigate.el Add required bindings Apr 26, 2014



This is an emacs package...I think? While trying to see what emacs is all about I felt very out of place without vim-tmux-navigator so I wrote one.

This is meant to work with evil which gives you vim bindings in emacs.

After installing evil install (assuming emacs >= 24 using ELPA) this with:

M-x package-install RET navigate RET

Then require it in your ~/.emacs with:

(require 'navigate)

You also have to setup commands in your ~/.tmux.conf:

bind -n C-h run "(tmux display-message -p '#{pane_current_command}' | grep -iqE '(^|\/)n?vim(diff)?$|emacs.*$' && tmux send-keys C-h) || tmux select-pane -L"
bind -n C-j run "(tmux display-message -p '#{pane_current_command}' | grep -iqE '(^|\/)n?vim(diff)?$|emacs.*$' && tmux send-keys C-j) || tmux select-pane -D"
bind -n C-k run "(tmux display-message -p '#{pane_current_command}' | grep -iqE '(^|\/)n?vim(diff)?$|emacs.*$' && tmux send-keys C-k) || tmux select-pane -U"
bind -n C-l run "(tmux display-message -p '#{pane_current_command}' | grep -iqE '(^|\/)n?vim(diff)?$|emacs.*$' && tmux send-keys C-l) || tmux select-pane -R"


As stated I have no idea what I'm doing in emacs so if any of this is ridiculous/not working please let me know.

RET == return in emacs lingo.

You can’t perform that action at this time.