summaryrefslogtreecommitdiff
path: root/keys
diff options
context:
space:
mode:
Diffstat (limited to 'keys')
-rw-r--r--keys/mappings.vim114
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>")