Navigate seamlessly between system windows, vim splits and tmux panes by only using awesomewm navigation keybindings.
Go to file
BZ e7880a702a traversing on empty tags does not cause an error anymore 2020-04-28 19:15:15 +02:00
plugin fix sh path and cleanup 2020-03-22 23:37:40 +01:00
README.md initial commit 2020-03-22 23:19:52 +01:00
init.lua traversing on empty tags does not cause an error anymore 2020-04-28 19:15:15 +02:00
tmux_focus.sh initial commit 2020-03-22 23:19:52 +01:00

README.md

AwesomeWM - Vim - Tmux Navigator

This plugin lets you navigate seamlessly between system windows, vim splits and tmux panes using a consisent set of hotkeys. Based on christoomey/vim-tmux-navigator and fogine/vim-i3wm-tmux-navigator.

Installation

AwesomeWM

Clone the repo.

cd ~/.config/awesome
git clone https://github.com/intrntbrn/awesomewm-vim-tmux-navigator

This path is hardcoded in some configuration files.

Add your preferred navigation keybinds to rc.lua (e.g. Mod4+arrow or Mod4+hjkl)

require("awesomewm-vim-tmux-navigator"){
        up    = {"Up", "k"},
        down  = {"Down", "j"},
        left  = {"Left", "h"},
        right = {"Right", "l"},
    }

Remove conflicting keybinds from your rc.lua.

Vim

Plug 'intrntbrn/awesomewm-vim-tmux-navigator'

Remove similar plugins (like christoomey/vim-tmux-navigator).

Tmux

Add the following to your tmux.conf.

# Set Terminal titles where possible
set-option -g set-titles on
set-option -g set-titles-string '#S: #W - TMUX'

# Smart pane switching with awareness of vim splits and system windows
is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
	| grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
bind -n C-Left if-shell "$is_vim" "send-keys C-h" "run-shell 'sh ~/.config/awesome/awesomewm-vim-tmux-navigator/tmux_focus.sh left'"
bind -n C-Down if-shell "$is_vim" "send-keys C-j" "run-shell 'sh ~/.config/awesome/awesomewm-vim-tmux-navigator/tmux_focus.sh down'"
bind -n C-Up if-shell "$is_vim" "send-keys C-k" "run-shell 'sh ~/.config/awesome/awesomewm-vim-tmux-navigator/tmux_focus.sh up'"
bind -n C-Right if-shell "$is_vim" "send-keys C-l" "run-shell 'sh ~/.config/awesome/awesomewm-vim-tmux-navigator/tmux_focus.sh right'"