mirror of
https://github.com/jbowdre/dotfiles.git
synced 2024-11-10 04:42:17 +00:00
25 lines
No EOL
864 B
VimL
25 lines
No EOL
864 B
VimL
" Tmux integration to switch panes with Ctrl+{hjkl}
|
|
if exists('$TMUX')
|
|
function! TmuxOrSplitSwitch(wincmd, tmuxdir)
|
|
let previous_winnr = winnr()
|
|
silent! execute "wincmd " . a:wincmd
|
|
if previous_winnr == winnr()
|
|
call system("tmux select-pane -" . a:tmuxdir)
|
|
redraw!
|
|
endif
|
|
endfunction
|
|
|
|
let previous_title = substitute(system("tmux display-message -p '#{pane_title}'"), '\n', '', '')
|
|
let &t_ti = "\<Esc>2;vim\<Esc>\\" . &t_ti
|
|
let &t_te = "\<Esc>2;". previous_title . "\<Esc>\\" . &t_te
|
|
|
|
nnoremap <silent> <C-h> :call TmuxOrSplitSwitch('h', 'L')<cr>
|
|
nnoremap <silent> <C-j> :call TmuxOrSplitSwitch('j', 'D')<cr>
|
|
nnoremap <silent> <C-k> :call TmuxOrSplitSwitch('k', 'U')<cr>
|
|
nnoremap <silent> <C-l> :call TmuxOrSplitSwitch('l', 'R')<cr>
|
|
else
|
|
map <C-h> <C-w>h
|
|
map <C-j> <C-w>j
|
|
map <C-k> <C-w>k
|
|
map <C-l> <C-w>l
|
|
endif |