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
|
||||
source $HOME/.tmux/globals.conf
|
||||
|
||||
# Nvim helper
|
||||
source $HOME/.tmux/nvim.conf
|
||||
|
||||
# Keybindings
|
||||
source $HOME/.tmux/bindings.conf
|
||||
|
||||
|
|
|
|||
|
|
@ -8,10 +8,10 @@ bind c new-window -c "#{pane_current_path}"
|
|||
unbind '"'
|
||||
unbind %
|
||||
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
|
||||
bind -n M-Left select-pane -L
|
||||
bind -n M-Right select-pane -R
|
||||
bind -n M-Up select-pane -U
|
||||
bind -n M-Down select-pane -D
|
||||
# bind -n M-Left select-pane -L
|
||||
# bind -n M-Right select-pane -R
|
||||
# bind -n M-Up select-pane -U
|
||||
# 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