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>") | 
