diff options
Diffstat (limited to 'keys')
-rw-r--r-- | keys/mappings.vim | 114 |
1 files changed, 64 insertions, 50 deletions
diff --git a/keys/mappings.vim b/keys/mappings.vim index 2c2d810a..7436ec42 100644 --- a/keys/mappings.vim +++ b/keys/mappings.vim @@ -13,56 +13,70 @@ nnoremap <Space> <Nop> vnoremap < <gv vnoremap > >gv -" I hate escape more than anything else -inoremap jk <Esc> -inoremap kj <Esc> - -" Easy CAPS -" inoremap <c-u> <ESC>viwUi -" nnoremap <c-u> viwU<Esc> - -" TAB in general mode will move to text buffer -nnoremap <silent> <TAB> :bnext<CR> -" SHIFT-TAB will go back -nnoremap <silent> <S-TAB> :bprevious<CR> - -" Move selected line / block of text in visual mode -" shift + k to move up -" shift + j to move down -xnoremap K :move '<-2<CR>gv-gv -xnoremap J :move '>+1<CR>gv-gv - -" Alternate way to save -nnoremap <silent> <C-s> :w<CR> -" Alternate way to quit -nnoremap <silent> <C-Q> :wq!<CR> -" Use control-c instead of escape -nnoremap <silent> <C-c> <Esc> -" <TAB>: completion. -inoremap <silent> <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>" - -" Better window navigation -nnoremap <C-h> <C-w>h -nnoremap <C-j> <C-w>j -nnoremap <C-k> <C-w>k -nnoremap <C-l> <C-w>l - -" Terminal window navigation -tnoremap <C-h> <C-\><C-N><C-w>h -tnoremap <C-j> <C-\><C-N><C-w>j -tnoremap <C-k> <C-\><C-N><C-w>k -tnoremap <C-l> <C-\><C-N><C-w>l -inoremap <C-h> <C-\><C-N><C-w>h -inoremap <C-j> <C-\><C-N><C-w>j -inoremap <C-k> <C-\><C-N><C-w>k -inoremap <C-l> <C-\><C-N><C-w>l -tnoremap <Esc> <C-\><C-n> - -" Use alt + hjkl to resize windows -nnoremap <silent> <M-j> :resize -2<CR> -nnoremap <silent> <M-k> :resize +2<CR> -nnoremap <silent> <M-h> :vertical resize -2<CR> -nnoremap <silent> <M-l> :vertical resize +2<CR> +if exists('g:vscode') + + " Simulate same TAB behavior in VSCode + nmap <Tab> :Tabnext<CR> + nmap <S-Tab> :Tabprev<CR> + +else + + " Better nav for omnicomplete + inoremap <expr> <c-j> ("\<C-n>") + inoremap <expr> <c-k> ("\<C-p>") + + " I hate escape more than anything else + inoremap jk <Esc> + inoremap kj <Esc> + + " Easy CAPS + " inoremap <c-u> <ESC>viwUi + " nnoremap <c-u> viwU<Esc> + + " TAB in general mode will move to text buffer + nnoremap <silent> <TAB> :bnext<CR> + " SHIFT-TAB will go back + nnoremap <silent> <S-TAB> :bprevious<CR> + + " Move selected line / block of text in visual mode + " shift + k to move up + " shift + j to move down + xnoremap K :move '<-2<CR>gv-gv + xnoremap J :move '>+1<CR>gv-gv + + " Alternate way to save + nnoremap <silent> <C-s> :w<CR> + " Alternate way to quit + nnoremap <silent> <C-Q> :wq!<CR> + " Use control-c instead of escape + nnoremap <silent> <C-c> <Esc> + " <TAB>: completion. + inoremap <silent> <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>" + + " Better window navigation + nnoremap <C-h> <C-w>h + nnoremap <C-j> <C-w>j + nnoremap <C-k> <C-w>k + nnoremap <C-l> <C-w>l + + " Terminal window navigation + tnoremap <C-h> <C-\><C-N><C-w>h + tnoremap <C-j> <C-\><C-N><C-w>j + tnoremap <C-k> <C-\><C-N><C-w>k + tnoremap <C-l> <C-\><C-N><C-w>l + inoremap <C-h> <C-\><C-N><C-w>h + inoremap <C-j> <C-\><C-N><C-w>j + inoremap <C-k> <C-\><C-N><C-w>k + inoremap <C-l> <C-\><C-N><C-w>l + tnoremap <Esc> <C-\><C-n> + + " Use alt + hjkl to resize windows + nnoremap <silent> <M-j> :resize -2<CR> + nnoremap <silent> <M-k> :resize +2<CR> + nnoremap <silent> <M-h> :vertical resize -2<CR> + nnoremap <silent> <M-l> :vertical resize +2<CR> + +endif " Better nav for omnicomplete inoremap <expr> <c-j> ("\<C-n>") |