vim option to enable keybinds in insert mode
This commit is contained in:
parent
5b2c6e6799
commit
bee18a8ec9
|
@ -48,6 +48,10 @@ Plug 'intrntbrn/awesomewm-vim-tmux-navigator'
|
||||||
|
|
||||||
Remove similar plugins (like `christoomey/vim-tmux-navigator`).
|
Remove similar plugins (like `christoomey/vim-tmux-navigator`).
|
||||||
|
|
||||||
|
**Options:**
|
||||||
|
|
||||||
|
`let g:tmux_navigator_insert_mode = 1` to enable navigator keybinds in insert mode
|
||||||
|
|
||||||
### Tmux
|
### Tmux
|
||||||
Add the following to your `tmux.conf`.
|
Add the following to your `tmux.conf`.
|
||||||
```tmux
|
```tmux
|
||||||
|
|
|
@ -21,6 +21,10 @@ function! s:UseTmuxNavigatorMappings()
|
||||||
return !exists("g:tmux_navigator_no_mappings") || !g:tmux_navigator_no_mappings
|
return !exists("g:tmux_navigator_no_mappings") || !g:tmux_navigator_no_mappings
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
function! s:UseTmuxNavigatorMappingsInInsertMode()
|
||||||
|
return exists("g:tmux_navigator_insert_mode")
|
||||||
|
endfunction
|
||||||
|
|
||||||
function! s:InTmuxSession()
|
function! s:InTmuxSession()
|
||||||
return $TMUX != ''
|
return $TMUX != ''
|
||||||
endfunction
|
endfunction
|
||||||
|
@ -65,16 +69,12 @@ function! s:TmuxGetActivePaneId()
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:TmuxAwareNavigate(direction)
|
function! s:TmuxAwareNavigate(direction)
|
||||||
|
|
||||||
let nr = winnr()
|
let nr = winnr()
|
||||||
"let tmux_pane = ''
|
|
||||||
"let tmux_pane = s:TmuxGetActivePaneId()
|
|
||||||
let tmux_last_pane = (a:direction == 'p' && s:tmux_is_last_pane)
|
let tmux_last_pane = (a:direction == 'p' && s:tmux_is_last_pane)
|
||||||
if !tmux_last_pane
|
if !tmux_last_pane
|
||||||
call s:VimNavigate(a:direction)
|
call s:VimNavigate(a:direction)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
" Forward the switch panes command to tmux if:
|
" Forward the switch panes command to tmux if:
|
||||||
" a) we're toggling between the last tmux pane;
|
" a) we're toggling between the last tmux pane;
|
||||||
" b) we tried switching windows in vim but it didn't have effect.
|
" b) we tried switching windows in vim but it didn't have effect.
|
||||||
|
@ -91,11 +91,6 @@ function! s:TmuxAwareNavigate(direction)
|
||||||
|
|
||||||
let cmd = 'sh ~/.config/awesome/awesomewm-vim-tmux-navigator/tmux_focus.sh '. dir
|
let cmd = 'sh ~/.config/awesome/awesomewm-vim-tmux-navigator/tmux_focus.sh '. dir
|
||||||
silent call system(cmd)
|
silent call system(cmd)
|
||||||
" let output= system("tmux run-shell 'tmux rename-window #{pane_current_command}'")
|
|
||||||
|
|
||||||
"if tmux_pane == s:TmuxGetActivePaneId()
|
|
||||||
"call s:SystemWindowNavigate(a:direction)
|
|
||||||
"endif
|
|
||||||
|
|
||||||
if s:NeedsVitalityRedraw()
|
if s:NeedsVitalityRedraw()
|
||||||
redraw!
|
redraw!
|
||||||
|
@ -118,10 +113,9 @@ func! s:SystemWindowNavigate(cmd)
|
||||||
if a:cmd == 'p'
|
if a:cmd == 'p'
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let dir = s:CmdToDir(a:cmd)
|
let dir = s:CmdToDir(a:cmd)
|
||||||
|
call system('awesome-client ''require("awful.client").focus.global_bydirection("' . dir . '") ''')
|
||||||
|
|
||||||
call system('awesome-client ''require("awful.client").focus.global_bydirection("' . dir . '") '' ')
|
|
||||||
if !has("gui_running")
|
if !has("gui_running")
|
||||||
redraw!
|
redraw!
|
||||||
endif
|
endif
|
||||||
|
@ -151,4 +145,11 @@ if s:UseTmuxNavigatorMappings()
|
||||||
nnoremap <silent> <c-k> :TmuxNavigateUp<cr>
|
nnoremap <silent> <c-k> :TmuxNavigateUp<cr>
|
||||||
nnoremap <silent> <c-l> :TmuxNavigateRight<cr>
|
nnoremap <silent> <c-l> :TmuxNavigateRight<cr>
|
||||||
nnoremap <silent> <c-\> :TmuxNavigatePrevious<cr>
|
nnoremap <silent> <c-\> :TmuxNavigatePrevious<cr>
|
||||||
|
if s:UseTmuxNavigatorMappingsInInsertMode()
|
||||||
|
inoremap <silent> <c-h> <Esc>:TmuxNavigateLeft<cr>
|
||||||
|
inoremap <silent> <c-j> <Esc>:TmuxNavigateDown<cr>
|
||||||
|
inoremap <silent> <c-k> <Esc>:TmuxNavigateUp<cr>
|
||||||
|
inoremap <silent> <c-l> <Esc>:TmuxNavigateRight<cr>
|
||||||
|
inoremap <silent> <c-\> <Esc>:TmuxNavigatePrevious<cr>
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
Loading…
Reference in New Issue