Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 3 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 10 years ago)
- Default Branch: master
- Last Pushed: 2019-09-01T06:01:09.000Z (almost 5 years ago)
- Last Synced: 2024-01-28T10:27:07.081Z (6 months ago)
- Topics: emacs, emacs-lisp, tmux
- Language: Emacs Lisp
- Homepage:
- Size: 3.91 KB
- Stars: 63
- Watchers: 4
- Forks: 11
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Lists
- awesome - evil-tmux-navigator - Seamlessly navigate Emacs and tmux splits (Emacs Lisp)
README
# evil-tmux-navigator
Warning:
![](http://cl.ly/VDhe/no-idea-what-im-doing-dog.jpg)
--------
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.