Last active
October 20, 2024 17:22
-
-
Save nuffin/c6d3f667fdd6205891a29858165d9203 to your computer and use it in GitHub Desktop.
key bindings for vim plugin "voldikss/vim-floaterm"
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| call plug#begin('~/.vim/plugged') | |
| Plug 'voldikss/vim-floaterm' | |
| nnoremap <silent> <C-T>c :FloatermNew<CR> | |
| tnoremap <silent> <C-T>c <C-\><C-n>:FloatermNew<CR> | |
| inoremap <silent> <C-T>c <Esc>:FloatermNew<CR> | |
| nnoremap <silent> <C-T>p :FloatermPrev<CR> | |
| tnoremap <silent> <C-T>p <C-\><C-n>:FloatermPrev<CR> | |
| inoremap <silent> <C-T>p <Esc>:FloatermPrev<CR> | |
| nnoremap <silent> <C-T><C-P> :FloatermPrev<CR> | |
| tnoremap <silent> <C-T><C-P> <C-\><C-n>:FloatermPrev<CR> | |
| inoremap <silent> <C-T><C-P> <Esc>:FloatermPrev<CR> | |
| nnoremap <silent> <C-T>n :FloatermNext<CR> | |
| tnoremap <silent> <C-T>n <C-\><C-n>:FloatermNext<CR> | |
| inoremap <silent> <C-T>n <Esc>:FloatermNext<CR> | |
| nnoremap <silent> <C-T><C-N> :FloatermNext<CR> | |
| tnoremap <silent> <C-T><C-N> <C-\><C-n>:FloatermNext<CR> | |
| inoremap <silent> <C-T><C-N> <Esc>:FloatermNext<CR> | |
| nnoremap <silent> <C-T>t :FloatermToggle<CR> | |
| tnoremap <silent> <C-T>t <C-\><C-n>:FloatermToggle<CR> | |
| inoremap <silent> <C-T>t <Esc>:FloatermToggle<CR> | |
| nnoremap <silent> <C-T><C-T> :FloatermToggle<CR> | |
| tnoremap <silent> <C-T><C-T> <C-\><C-n>:FloatermToggle<CR> | |
| inoremap <silent> <C-T><C-T> <Esc>:FloatermToggle<CR> | |
| " with `q` instead of `k`: to avoid accidental triggering | |
| " due to the similarity to ctrl-k in terminal | |
| nnoremap <silent> <C-T>q :FloatermKill<CR> | |
| tnoremap <silent> <C-T>q <C-\><C-n>:FloatermKill<CR> | |
| inoremap <silent> <C-T>q <Esc>:FloatermKill<CR> | |
| let preferred_width = 0.9 | |
| let preferred_height = 0.9 | |
| set termwinkey=<C-T> | |
| let g:floaterm_autoclose = 1 | |
| " if has("autocmd") | |
| " "autocmd TermClose * FloatermNext | |
| " autocmd TermClose * FloatermPrev | |
| " endif | |
| let g:floaterm_width = preferred_width | |
| let g:floaterm_height = preferred_height | |
| nnoremap <C-T>r :AsyncRun -mode=term -pos=floaterm<Space> | |
| tnoremap <C-T>r <C-\><C-n>:AsyncRun -mode=term -pos=floaterm<Space> | |
| inoremap <C-T>r <Esc>:AsyncRun -mode=term -pos=floaterm<Space> | |
| nnoremap <C-T><C-R> :AsyncRun -mode=term -pos=floaterm<Space> | |
| tnoremap <C-T><C-R> <C-\><C-n>:AsyncRun -mode=term -pos=floaterm<Space> | |
| inoremap <C-T><C-R> <Esc>:AsyncRun -mode=term -pos=floaterm<Space> | |
| let g:floaterm_is_fullscreen = 0 | |
| function! ToggleFloatermFullScreen() | |
| if g:floaterm_is_fullscreen == 0 | |
| let g:floaterm_width = 1.0 | |
| let g:floaterm_height = 1.0 | |
| let g:floaterm_is_fullscreen = 1 | |
| else | |
| let g:floaterm_width = preferred_width | |
| let g:floaterm_height = preferred_height | |
| let g:floaterm_is_fullscreen = 0 | |
| endif | |
| " If the terminal is already open, resize it immediately | |
| if exists(':FloatermUpdate') | |
| execute 'FloatermUpdate --width=' . g:floaterm_width . ' --height=' . g:floaterm_height | |
| endif | |
| endfunction | |
| tnoremap <C-T>f <C-\><C-n>:call ToggleFloatermFullScreen()<CR> | |
| tnoremap <C-T><C-F> <C-\><C-n>:call ToggleFloatermFullScreen()<CR> | |
| call plug#end() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment