Update
This commit is contained in:
170
plugin/keys.vim
170
plugin/keys.vim
@@ -1,4 +1,14 @@
|
||||
nnoremap <SPACE> <Nop>
|
||||
let g:mapleader = ' '
|
||||
|
||||
" Quickly insert an empty new line without entering insert mode
|
||||
nnoremap <Leader>o o<Esc>
|
||||
nnoremap <Leader>O O<Esc>
|
||||
|
||||
" workman
|
||||
noremap <C-K> <C-O>
|
||||
noremap <Tab> <C-I>
|
||||
|
||||
noremap e j
|
||||
noremap o k
|
||||
noremap n h
|
||||
@@ -39,18 +49,46 @@ nnoremap <silent> <c-w>i :wincmd l<cr>
|
||||
nnoremap <silent> <c-w>k :wincmd n<cr>
|
||||
nnoremap <silent> <c-w>l :wincmd o<cr>
|
||||
|
||||
nnoremap <c-n> b
|
||||
nnoremap <c-i> e
|
||||
vnoremap <c-n> B
|
||||
vnoremap <c-i> W
|
||||
nnoremap <c-n> B
|
||||
nnoremap <c-i> W
|
||||
|
||||
vnoremap <A-n> b
|
||||
vnoremap <A-i> w
|
||||
nnoremap <A-n> b
|
||||
nnoremap <A-i> w
|
||||
" nnoremap <c-n>i e
|
||||
|
||||
" get control-j back, so switch it with ctrl-n at qwerty position of j
|
||||
imap <c-n> <cr>
|
||||
cmap <c-n> <cr>
|
||||
" imap <c-n> <cr>
|
||||
" cmap <c-n> <cr>
|
||||
inoremap <c-j> <c-n>
|
||||
cnoremap <c-j> <c-n>
|
||||
|
||||
" half scroll up and down
|
||||
noremap <C-A-p> <C-u>
|
||||
noremap <C-A-u> <C-d>
|
||||
map <C-d> <Nop>
|
||||
|
||||
nnoremap <SPACE> <Nop>
|
||||
let g:mapleader = ' '
|
||||
|
||||
" jump word in visual mode -- TODO
|
||||
|
||||
" In insert or command mode, move normally by using Ctrl
|
||||
inoremap <C-n> <Left>
|
||||
inoremap <C-e> <Down>
|
||||
inoremap <C-o> <Up>
|
||||
inoremap <C-i> <Right>
|
||||
cnoremap <C-n> <Left>
|
||||
cnoremap <C-e> <Down>
|
||||
cnoremap <C-o> <Up>
|
||||
cnoremap <C-i> <Right>
|
||||
|
||||
inoremap <C-A-n> <C-Left>
|
||||
inoremap <C-A-i> <C-Right>
|
||||
|
||||
inoremap <C-A-e> <Esc>:+3<CR>i
|
||||
inoremap <C-A-o> <Esc>:-3<CR>i
|
||||
|
||||
" easy config
|
||||
nmap <S-F9> :e $HOME/.vimrc<CR>
|
||||
@@ -59,15 +97,22 @@ nmap <S-F10> :so $HOME/.vimrc<CR>
|
||||
" Force saving files that require root permission
|
||||
command! SUDOwrite :execute 'w !sudo tee > /dev/null %' | edit!
|
||||
|
||||
" TODO: C-S-o etc does not work
|
||||
" Bubble single lines
|
||||
nmap <silent> <C-S-Up> :m-2<CR>==
|
||||
nmap <silent> <C-S-o> :m-2<CR>==
|
||||
nmap <silent> <C-S-Down> :m+<CR>==
|
||||
nmap <silent> <C-S-e> :m+<CR>==
|
||||
imap <silent> <C-S-Up> <Esc>:m-2<CR>==gi
|
||||
imap <silent> <C-S-o> <Esc>:m-2<CR>==gi
|
||||
imap <silent> <C-S-Down> <Esc>:m+<CR>==gi
|
||||
imap <silent> <C-S-e> <Esc>:m+<CR>==gi
|
||||
|
||||
" Bubble multiple lines
|
||||
vmap <silent> <C-S-Up> :m-2<CR>gv=gv
|
||||
vmap <silent> <C-S-o> :m-2<CR>gv=gv
|
||||
vmap <silent> <C-S-Down> :m'>+<CR>gv=gv
|
||||
vmap <silent> <C-S-e> :m'>+<CR>gv=gv
|
||||
|
||||
" Indent lines using <Left> and <Right>
|
||||
vmap <C-S-Right> >gv
|
||||
@@ -89,7 +134,7 @@ noremap <leader>wc <Esc>:bd<CR>
|
||||
noremap <leader>bo <Esc>:Bufonly<CR>
|
||||
|
||||
" close preview
|
||||
nmap <C-p> :pc<CR>
|
||||
nmap <leader>pc <Esc>:pc<CR>
|
||||
|
||||
" Remap window commands
|
||||
" map <leader>ws <Esc>:wincmd s<CR>
|
||||
@@ -111,10 +156,15 @@ nmap <C-p> :pc<CR>
|
||||
" map <C-h> <Esc>:wincmd h<CR>
|
||||
" map <C-Right> <Esc>:wincmd l<CR>
|
||||
" map <C-l> <Esc>:wincmd l<CR>
|
||||
nnoremap <silent> <A-o> :wincmd K<CR>
|
||||
nnoremap <silent> <A-e> :wincmd J<CR>
|
||||
nnoremap <silent> <A-n> :wincmd H<CR>
|
||||
nnoremap <silent> <A-i> :wincmd L<CR>
|
||||
"
|
||||
" nnoremap <silent> <A-o> :wincmd k<CR>
|
||||
" nnoremap <silent> <A-e> :wincmd j<CR>
|
||||
" nnoremap <silent> <A-n> :wincmd h<CR>
|
||||
" nnoremap <silent> <A-i> :wincmd l<CR>
|
||||
" inoremap <silent> <A-o> <Esc>:wincmd k<CR>
|
||||
" inoremap <silent> <A-e> <Esc>:wincmd j<CR>
|
||||
" inoremap <silent> <A-n> <Esc>:wincmd h<CR>
|
||||
" inoremap <silent> <A-i> <Esc>:wincmd l<CR>
|
||||
nnoremap <silent> <A-Up> :wincmd k<CR>
|
||||
nnoremap <silent> <A-Down> :wincmd j<CR>
|
||||
nnoremap <silent> <A-Left> :wincmd h<CR>
|
||||
@@ -123,6 +173,14 @@ inoremap <silent> <A-Up> <Esc>:wincmd k<CR>
|
||||
inoremap <silent> <A-Down> <Esc>:wincmd j<CR>
|
||||
inoremap <silent> <A-Left> <Esc>:wincmd h<CR>
|
||||
inoremap <silent> <A-Right> <Esc>:wincmd l<CR>
|
||||
nnoremap <silent> <C-A-Up> :wincmd K<CR>
|
||||
nnoremap <silent> <C-A-Down> :wincmd J<CR>
|
||||
nnoremap <silent> <C-A-Left> :wincmd H<CR>
|
||||
nnoremap <silent> <C-A-Right> :wincmd L<CR>
|
||||
inoremap <silent> <C-A-Up> <Esc>:wincmd K<CR>
|
||||
inoremap <silent> <C-A-Down> <Esc>:wincmd J<CR>
|
||||
inoremap <silent> <C-A-Left> <Esc>:wincmd H<CR>
|
||||
inoremap <silent> <C-A-Right> <Esc>:wincmd L<CR>
|
||||
|
||||
" tags
|
||||
nmap <S-F3> :exec("tjump ".expand("<cword>"))<CR>
|
||||
@@ -146,30 +204,26 @@ inoremap <silent> <S-Insert> <ESC>:set paste<CR>"+p :set nopaste<CR>
|
||||
nmap <silent> <S-F7> :setlocal spell! spelllang=en_us<CR>
|
||||
|
||||
" cursor jump
|
||||
nnoremap <C-A-Up> 3k
|
||||
inoremap <C-A-Up> <Esc>:-3<CR>i
|
||||
vnoremap <C-A-Up> 3k
|
||||
nnoremap <C-A-Down> 3j
|
||||
inoremap <C-A-Down> <Esc>:+3<CR>i
|
||||
vnoremap <C-A-Down> 3j
|
||||
nnoremap <C-Up> 6k
|
||||
inoremap <C-Up> <Esc>:-6<CR>i
|
||||
vnoremap <C-Up> 6k
|
||||
nnoremap <C-Down> 6j
|
||||
inoremap <C-Down> <Esc>:+6<CR>i
|
||||
vnoremap <C-Down> 6j
|
||||
" nnoremap <A-Up> 3k
|
||||
" inoremap <A-Up> <Esc>:-3<CR>i
|
||||
" vnoremap <A-Up> 3k
|
||||
" nnoremap <A-Down> 3j
|
||||
" inoremap <A-Down> <Esc>:+3<CR>i
|
||||
" vnoremap <A-Down> 3j
|
||||
" nnoremap <C-Up> 6k
|
||||
" inoremap <C-Up> <Esc>:-6<CR>i
|
||||
" vnoremap <C-Up> 6k
|
||||
" nnoremap <C-Down> 6j
|
||||
" inoremap <C-Down> <Esc>:+6<CR>i
|
||||
" vnoremap <C-Down> 6j
|
||||
|
||||
nnoremap <C-A-o> 3k
|
||||
inoremap <C-A-o> <Esc>:-3<CR>i
|
||||
vnoremap <C-A-o> 3k
|
||||
nnoremap <C-A-e> 3j
|
||||
inoremap <C-A-e> <Esc>:+3<CR>i
|
||||
vnoremap <C-A-e> 3j
|
||||
nnoremap <A-o> 3k
|
||||
vnoremap <A-o> 3k
|
||||
nnoremap <A-e> 3j
|
||||
vnoremap <A-e> 3j
|
||||
nnoremap <C-o> 6k
|
||||
inoremap <C-o> <Esc>:-6<CR>i
|
||||
vnoremap <C-o> 6k
|
||||
nnoremap <C-e> 6j
|
||||
inoremap <C-e> <Esc>:+6<CR>i
|
||||
vnoremap <C-e> 6j
|
||||
|
||||
" scrolling
|
||||
@@ -180,6 +234,14 @@ nnoremap <S-PageDown> 10<C-E>
|
||||
inoremap <S-PageDown> <Esc>10<C-E>i
|
||||
vnoremap <S-PageDown> 10<C-E>
|
||||
|
||||
nnoremap <C-p> 10<C-Y>
|
||||
inoremap <C-p> <Esc>10<C-Y>i
|
||||
vnoremap <C-p> 10<C-Y>
|
||||
nnoremap <C-u> 10<C-E>
|
||||
inoremap <C-u> <Esc>10<C-E>i
|
||||
vnoremap <C-u> 10<C-E>
|
||||
|
||||
|
||||
" F keys
|
||||
nmap <F2> :noh<CR>
|
||||
imap <F2> <C-O>:noh<CR>
|
||||
@@ -199,7 +261,7 @@ noremap <C-B> :TagbarToggle<CR>
|
||||
inoremap <C-B> <C-O>:TagbarToggle<CR>
|
||||
|
||||
" remap visual block
|
||||
nnoremap <S-B> <c-v>
|
||||
nnoremap <S-C> <c-v>
|
||||
|
||||
" write
|
||||
noremap <C-s> :w<CR>
|
||||
@@ -224,6 +286,46 @@ nnoremap <leader>tg :call fzf#vim#tags(expand('<cword>'), {'options': '--exact -
|
||||
|
||||
" gitgutter
|
||||
nmap <leader>ggt <Esc>:GitGutterToggle<CR>
|
||||
nmap <leader>nh <Plug>GitGutterNextHunk
|
||||
nmap <leader>bh <Plug>GitGutterPrevHunk
|
||||
nmap <leader>nh <Plug>(GitGutterNextHunk)
|
||||
nmap <leader>bh <Plug>(GitGutterPrevHunk)
|
||||
|
||||
" ctrlp
|
||||
let g:ctrlp_prompt_mappings = {
|
||||
\ 'PrtBS()': ['<bs>', '<c-]>'],
|
||||
\ 'PrtDelete()': ['<del>'],
|
||||
\ 'PrtDeleteWord()': ['<c-w>'],
|
||||
\ 'PrtClear()': ['<c-u>'],
|
||||
\ 'PrtSelectMove("j")': ['<c-e>', '<down>'],
|
||||
\ 'PrtSelectMove("k")': ['<c-o>', '<up>'],
|
||||
\ 'PrtSelectMove("t")': ['<Home>', '<kHome>'],
|
||||
\ 'PrtSelectMove("b")': ['<End>', '<kEnd>'],
|
||||
\ 'PrtSelectMove("u")': ['<PageUp>', '<kPageUp>'],
|
||||
\ 'PrtSelectMove("d")': ['<PageDown>', '<kPageDown>'],
|
||||
\ 'PrtHistory(-1)': ['<c-f>'],
|
||||
\ 'PrtHistory(1)': ['<c-p>'],
|
||||
\ 'AcceptSelection("e")': ['<cr>', '<2-LeftMouse>'],
|
||||
\ 'AcceptSelection("h")': ['<c-x>', '<c-cr>', '<c-s>'],
|
||||
\ 'AcceptSelection("t")': ['<c-t>'],
|
||||
\ 'AcceptSelection("v")': ['<c-v>', '<RightMouse>'],
|
||||
\ 'ToggleFocus()': ['<s-tab>'],
|
||||
\ 'ToggleRegex()': ['<c-r>'],
|
||||
\ 'ToggleByFname()': ['<c-d>'],
|
||||
\ 'ToggleType(1)': ['<c-g>', '<c-up>'],
|
||||
\ 'ToggleType(-1)': ['<c-b>', '<c-down>'],
|
||||
\ 'PrtExpandDir()': ['<tab>'],
|
||||
\ 'PrtInsert("c")': ['<MiddleMouse>', '<insert>'],
|
||||
\ 'PrtInsert()': ['<c-\>'],
|
||||
\ 'PrtCurStart()': ['<c-a>'],
|
||||
\ 'PrtCurEnd()': ['<c-k>'],
|
||||
\ 'PrtCurLeft()': ['<c-n>', '<left>', '<c-^>'],
|
||||
\ 'PrtCurRight()': ['<c-i>', '<right>'],
|
||||
\ 'PrtClearCache()': ['<F5>'],
|
||||
\ 'PrtDeleteEnt()': ['<F7>'],
|
||||
\ 'CreateNewFile()': ['<c-y>'],
|
||||
\ 'MarkToOpen()': ['<c-z>'],
|
||||
\ 'OpenMulti()': ['<c-l>'],
|
||||
\ 'PrtExit()': ['<esc>', '<c-c>', '<c-g>'],
|
||||
\ }
|
||||
|
||||
|
||||
nnoremap <leader>cd :cd %:p:h<CR>:pwd<CR>
|
||||
|
||||
Reference in New Issue
Block a user