Integrate tmux with some vim bindings.
This commit is contained in:
parent
f463530645
commit
eaf9c23a97
3 changed files with 37 additions and 5 deletions
|
|
@ -11,6 +11,9 @@ source $HOME/.tmux/plugin-configs/rose-pine.conf
|
||||||
# General config
|
# General config
|
||||||
source $HOME/.tmux/globals.conf
|
source $HOME/.tmux/globals.conf
|
||||||
|
|
||||||
|
# Nvim helper
|
||||||
|
source $HOME/.tmux/nvim.conf
|
||||||
|
|
||||||
# Keybindings
|
# Keybindings
|
||||||
source $HOME/.tmux/bindings.conf
|
source $HOME/.tmux/bindings.conf
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,10 +8,10 @@ bind c new-window -c "#{pane_current_path}"
|
||||||
unbind '"'
|
unbind '"'
|
||||||
unbind %
|
unbind %
|
||||||
bind | split-window -h -c "#{pane_current_path}"
|
bind | split-window -h -c "#{pane_current_path}"
|
||||||
bind - split-window -v "#{pane_current_path}"
|
bind - split-window -v -c "#{pane_current_path}"
|
||||||
|
|
||||||
# Alt-arrow switching
|
# Alt-arrow switching
|
||||||
bind -n M-Left select-pane -L
|
# bind -n M-Left select-pane -L
|
||||||
bind -n M-Right select-pane -R
|
# bind -n M-Right select-pane -R
|
||||||
bind -n M-Up select-pane -U
|
# bind -n M-Up select-pane -U
|
||||||
bind -n M-Down select-pane -D
|
# bind -n M-Down select-pane -D
|
||||||
|
|
|
||||||
29
tmux/.tmux/nvim.conf
Normal file
29
tmux/.tmux/nvim.conf
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
# helper to decide whether we are inside (n)vim
|
||||||
|
is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
|
||||||
|
| grep -iqE '^[^TXZ ]+ +(\\$+\\/)?g?(view|n?vim?x?)(diff)?$'"
|
||||||
|
|
||||||
|
# Correct binding depending on version
|
||||||
|
if-shell -b '[[ "$(tmux -V)" == tmux\ 2.* ]]' \
|
||||||
|
"bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\' 'select-pane -l'"
|
||||||
|
if-shell -b '[[ "$(tmux -V)" == tmux\ 3.* ]]' \
|
||||||
|
"bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\\\' 'select-pane -l'"
|
||||||
|
|
||||||
|
# Bindings
|
||||||
|
bind-key -n 'C-Space' if-shell "$is_vim" 'send-keys C-Space' 'select-pane -t:.+'
|
||||||
|
|
||||||
|
bind-key -n 'M-h' if-shell "$is_vim" 'send-keys M-h' 'select-pane -L'
|
||||||
|
bind-key -n 'M-j' if-shell "$is_vim" 'send-keys M-j' 'select-pane -D'
|
||||||
|
bind-key -n 'M-k' if-shell "$is_vim" 'send-keys M-k' 'select-pane -U'
|
||||||
|
bind-key -n 'M-l' if-shell "$is_vim" 'send-keys M-l' 'select-pane -R'
|
||||||
|
|
||||||
|
bind-key -n 'M-Left' if-shell "$is_vim" 'send-keys M-h' 'select-pane -L'
|
||||||
|
bind-key -n 'M-Down' if-shell "$is_vim" 'send-keys M-j' 'select-pane -D'
|
||||||
|
bind-key -n 'M-Up' if-shell "$is_vim" 'send-keys M-k' 'select-pane -U'
|
||||||
|
bind-key -n 'M-Right' if-shell "$is_vim" 'send-keys M-l' 'select-pane -R'
|
||||||
|
|
||||||
|
bind-key -T copy-mode-vi 'M-h' select-pane -L
|
||||||
|
bind-key -T copy-mode-vi 'M-j' select-pane -D
|
||||||
|
bind-key -T copy-mode-vi 'M-k' select-pane -U
|
||||||
|
bind-key -T copy-mode-vi 'M-l' select-pane -R
|
||||||
|
bind-key -T copy-mode-vi 'C-\' select-pane -l
|
||||||
|
bind-key -T copy-mode-vi 'C-Space' select-pane -t:.+
|
||||||
Loading…
Add table
Reference in a new issue