Navigate seamlessly between system windows, vim splits and tmux panes by only using awesomewm navigation keybindings.
Go to file
BZ c9de6a1055 fix sh path and cleanup 2020-03-22 23:37:40 +01: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 fix sh path and cleanup 2020-03-22 23:37:40 +01: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'"