awesomeawesomewmcontrolfocushotkeyskeybindsnavigationnavigatornvimpanesplittmuxunixpornusabilityvimvim-tmux-navigator
4bb71c272e | ||
---|---|---|
plugin | ||
README.md | ||
init.lua | ||
tmux_focus.sh |
README.md
AwesomeWM - Vim - Tmux Navigator
awesomewm-vim-tmux-navigator
lets you navigate seamlessly between system windows, vim splits and tmux panes using a consisent set of hotkeys.
It's based on christoomey/vim-tmux-navigator and fogine/vim-i3wm-tmux-navigator.
How does it work
The plugin detects the focused application and simulates the correct keypresses so you can forget whether you are using tmux, vim, or another application.
Installation
AwesomeWM
Clone the repo.
git clone https://github.com/intrntbrn/awesomewm-vim-tmux-navigator ~/.config/awesome/awesomewm-vim-tmux-navigator
It's not recommended to change the path since it's hardcoded in some configuration files.
Add your preferred navigation (focus) 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'"