https://github.com/keith/evil-tmux-navigator
Seamlessly navigate Emacs and tmux splits
https://github.com/keith/evil-tmux-navigator
emacs emacs-lisp tmux
Last synced: 11 months ago
JSON representation
Seamlessly navigate Emacs and tmux splits
- Host: GitHub
- URL: https://github.com/keith/evil-tmux-navigator
- Owner: keith
- License: mit
- Created: 2014-04-26T03:45:12.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2019-09-01T06:01:09.000Z (almost 7 years ago)
- Last Synced: 2025-01-09T03:22:51.653Z (over 1 year ago)
- Topics: emacs, emacs-lisp, tmux
- Language: Emacs Lisp
- Homepage:
- Size: 3.91 KB
- Stars: 64
- Watchers: 4
- Forks: 11
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# evil-tmux-navigator
Warning:

--------
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](https://github.com/christoomey/vim-tmux-navigator)
so I wrote one.
This is meant to work with [evil](http://www.emacswiki.org/emacs/Evil)
which gives you vim bindings in emacs.
After installing evil install (assuming emacs >= 24 using
[ELPA](http://www.emacswiki.org/emacs/ELPA)) this with:
```
M-x package-install RET navigate RET
```
Then require it in your `~/.emacs` with:
```lisp
(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"
```
#### Troubleshooting
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.