134 lines
4.9 KiB
VimL
134 lines
4.9 KiB
VimL
" No arrow keys
|
|
noremap <Up> <NOP>
|
|
noremap <Down> <NOP>
|
|
noremap <Left> <NOP>
|
|
noremap <Right> <NOP>
|
|
inoremap <Up> <NOP>
|
|
inoremap <Down> <NOP>
|
|
inoremap <Left> <NOP>
|
|
inoremap <Right> <NOP>
|
|
|
|
" Quick window switching
|
|
nmap <C-h> <C-w>h
|
|
nmap <C-j> <C-w>j
|
|
nmap <C-k> <C-w>k
|
|
nmap <C-l> <C-w>l
|
|
|
|
|
|
" ============================================================================ "
|
|
" === KEY MAPPINGS === "
|
|
" ============================================================================ "
|
|
|
|
" === Denite shorcuts === "
|
|
" ; - Browser currently open buffers
|
|
" <leader>t - Browse list of files in current directory
|
|
" <leader>g - Search current directory for occurences of given term and close window if no results
|
|
" <leader>j - Search current directory for occurences of word under cursor
|
|
nmap ; :Denite buffer<CR>
|
|
nmap <leader>t :DeniteProjectDir file/rec<CR>
|
|
nnoremap <leader>g :<C-u>Denite grep:. -no-empty<CR>
|
|
nnoremap <leader>j :<C-u>DeniteCursorWord grep:.<CR>
|
|
|
|
" Define mappings while in 'filter' mode
|
|
" <C-o> - Switch to normal mode inside of search results
|
|
" <Esc> - Exit denite window in any mode
|
|
" <CR> - Open currently selected file in any mode
|
|
" <C-t> - Open currently selected file in a new tab
|
|
" <C-v> - Open currently selected file a vertical split
|
|
" <C-h> - Open currently selected file in a horizontal split
|
|
autocmd FileType denite-filter call s:denite_filter_my_settings()
|
|
function! s:denite_filter_my_settings() abort
|
|
imap <silent><buffer> <C-o>
|
|
\ <Plug>(denite_filter_quit)
|
|
inoremap <silent><buffer><expr> <Esc>
|
|
\ denite#do_map('quit')
|
|
nnoremap <silent><buffer><expr> <Esc>
|
|
\ denite#do_map('quit')
|
|
inoremap <silent><buffer><expr> <CR>
|
|
\ denite#do_map('do_action')
|
|
inoremap <silent><buffer><expr> <C-t>
|
|
\ denite#do_map('do_action', 'tabopen')
|
|
inoremap <silent><buffer><expr> <C-v>
|
|
\ denite#do_map('do_action', 'vsplit')
|
|
inoremap <silent><buffer><expr> <C-h>
|
|
\ denite#do_map('do_action', 'split')
|
|
endfunction
|
|
|
|
" Define mappings while in denite window
|
|
" <CR> - Opens currently selected file
|
|
" q or <Esc> - Quit Denite window
|
|
" d - Delete currenly selected file
|
|
" p - Preview currently selected file
|
|
" <C-o> or i - Switch to insert mode inside of filter prompt
|
|
" <C-t> - Open currently selected file in a new tab
|
|
" <C-v> - Open currently selected file a vertical split
|
|
" <C-h> - Open currently selected file in a horizontal split
|
|
autocmd FileType denite call s:denite_my_settings()
|
|
function! s:denite_my_settings() abort
|
|
nnoremap <silent><buffer><expr> <CR>
|
|
\ denite#do_map('do_action')
|
|
nnoremap <silent><buffer><expr> q
|
|
\ denite#do_map('quit')
|
|
nnoremap <silent><buffer><expr> <Esc>
|
|
\ denite#do_map('quit')
|
|
nnoremap <silent><buffer><expr> d
|
|
\ denite#do_map('do_action', 'delete')
|
|
nnoremap <silent><buffer><expr> p
|
|
\ denite#do_map('do_action', 'preview')
|
|
nnoremap <silent><buffer><expr> i
|
|
\ denite#do_map('open_filter_buffer')
|
|
nnoremap <silent><buffer><expr> <C-o>
|
|
\ denite#do_map('open_filter_buffer')
|
|
nnoremap <silent><buffer><expr> <C-t>
|
|
\ denite#do_map('do_action', 'tabopen')
|
|
nnoremap <silent><buffer><expr> <C-v>
|
|
\ denite#do_map('do_action', 'vsplit')
|
|
nnoremap <silent><buffer><expr> <C-h>
|
|
\ denite#do_map('do_action', 'split')
|
|
endfunction
|
|
|
|
" === Nerdtree shorcuts === "
|
|
" <leader>n - Toggle NERDTree on/off
|
|
" <leader>f - Opens current file location in NERDTree
|
|
nmap <leader>n :NERDTreeToggle<CR>
|
|
nmap <leader>f :NERDTreeFind<CR>
|
|
|
|
" === coc.nvim === "
|
|
" <leader>dd - Jump to definition of current symbol
|
|
" <leader>dr - Jump to references of current symbol
|
|
" <leader>dj - Jump to implementation of current symbol
|
|
" <leader>ds - Fuzzy search current project symbols
|
|
" <leader>p - Run Prettier formatter on file
|
|
nmap <silent> <leader>dd <Plug>(coc-definition)
|
|
nmap <silent> <leader>dr <Plug>(coc-references)
|
|
nmap <silent> <leader>dj <Plug>(coc-implementation)
|
|
nnoremap <silent> <leader>ds :<C-u>CocList -I -N --top symbols<CR>
|
|
nmap <silent> <leader>p :Prettier<CR>
|
|
|
|
" === vim-better-whitespace === "
|
|
" <leader>y - Automatically remove trailing whitespace
|
|
nmap <leader>y :StripWhitespace<CR>
|
|
|
|
" === Search shorcuts === "
|
|
" <leader>h - Find and replace
|
|
" <leader>/ - Claer highlighted search terms while preserving history
|
|
map <leader>h :%s///<left><left>
|
|
nmap <silent> <leader>/ :nohlsearch<CR>
|
|
|
|
" === Easy-motion shortcuts ==="
|
|
" <leader>w - Easy-motion highlights first word letters bi-directionally
|
|
map <leader>w <Plug>(easymotion-bd-w)
|
|
|
|
" Allows you to save files you opened without write permissions via sudo
|
|
cmap w!! w !sudo tee %
|
|
|
|
" === vim-jsdoc shortcuts ==="
|
|
" Generate jsdoc for function under cursor
|
|
nmap <leader>z :JsDoc<CR>
|
|
|
|
" Delete current visual selection and dump in black hole buffer before pasting
|
|
" Used when you want to paste over something without it getting copied to
|
|
" Vim's default buffer
|
|
vnoremap <leader>p "_dP
|
|
|