vim,tmux:plugs: Add vim-tmux-navigator

[vim-tmux-navigator][1]:

> Seamless navigation between tmux panes and vim splits

Add the hybrid vim/tmux plugin `vim-tmux-navigator` to switch between
tmux panes and vim splits with `C-[hjkl]`.

Add vim-tmux-navigator as a submodule in tmux/plugins and create a
symlink from vim/pack/plugins/start.

Get rid of similar switching keymappings in the vim and tmux configs.

[1]: https://github.com/christoomey/vim-tmux-navigator
This commit is contained in:
2022-05-01 12:20:37 +02:00
parent 49a6985f35
commit 4cf0eedd56
5 changed files with 9 additions and 17 deletions

View File

@@ -25,12 +25,6 @@ bind-key > split-window -h -c "#{pane_current_path}"
# Create new window in current path
bind-key -T prefix c new-window -c "#{pane_current_path}"
# Change panes with Alt-<arrow>
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
# Resource config
bind-key -T prefix R source-file "$XDG_CONFIG_HOME/tmux/tmux.conf" \; display-message "Sourced $XDG_CONFIG_HOME/tmux/tmux.conf"
@@ -50,17 +44,14 @@ bind-key -T copy-mode-vi v send-keys -X begin-selection
# Yank into system clipboard
bind-key -T copy-mode-vi y send-keys -X copy-pipe "xclip -selection clipboard"
# Navigate panes with hjkl
# Navigate panes with <prefix>-[hjkl]
# NOTE: C-[hjkl] (w/o prefix) moves through vim splits and tmux panes
# See vim-tmux-navigator
unbind -T prefix l
bind -T prefix h select-pane -L
bind -T prefix j select-pane -D
bind -T prefix k select-pane -U
bind -T prefix l select-pane -R
# Allow holding Ctrl after pressing the prefix
bind -T prefix C-h select-pane -L
bind -T prefix C-j select-pane -D
bind -T prefix C-k select-pane -U
bind -T prefix C-l select-pane -R
# Resize panes with Alt-Shift-[hjkl]
bind -n M-H resize-pane -L
bind -n M-J resize-pane -D
@@ -82,6 +73,7 @@ set -g @plugin 'tmux-plugins/tmux-prefix-highlight'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'vim-tmux-navigator'
# Capture pane content
set -g @resurrect-capture-pane-contents 'on'

View File

@@ -0,0 +1 @@
../../../../tmux/plugins/vim-tmux-navigator/

View File

@@ -11,11 +11,6 @@ nnoremap <silent> <Esc> :nohlsearch<CR><Esc>
" Create new panes
nnoremap <C-w>N :vsplit<CR>
nnoremap <C-w>n :split<CR>
" Move between panes
nnoremap <C-h> <C-w><C-h>
nnoremap <C-j> <C-w><C-j>
nnoremap <C-k> <C-w><C-k>
nnoremap <C-l> <C-w><C-l>
" Substitute command
if (exists('+inccommand') && &inccommand != '')

3
.gitmodules vendored
View File

@@ -35,6 +35,9 @@
[submodule "tpm"]
path = .config/tmux/plugins/tpm
url = https://github.com/tmux-plugins/tpm
[submodule "vim-tmux-navigator"]
path = .config/tmux/plugins/vim-tmux-navigator
url = https://github.com/christoomey/vim-tmux-navigator
# vim
[submodule "arm-syntax-vim"]