From 11e6797cb5cc5cadbd148e20308818c68aabd335 Mon Sep 17 00:00:00 2001 From: jdhao Date: Tue, 6 Sep 2022 21:22:45 +0800 Subject: refactor: convert mapping from viml to lua --- core/mappings.vim | 195 ------------------------------------------------------ 1 file changed, 195 deletions(-) delete mode 100644 core/mappings.vim (limited to 'core/mappings.vim') diff --git a/core/mappings.vim b/core/mappings.vim deleted file mode 100644 index 23fe1ee..0000000 --- a/core/mappings.vim +++ /dev/null @@ -1,195 +0,0 @@ -" Save key strokes (now we do not need to press shift to enter command mode). -" Vim-sneak has also mapped `;`, so using the below mapping will break the map -" used by vim-sneak -nnoremap ; : -xnoremap ; : - -" Quicker way to open command window -nnoremap q; q: - -" Turn the word under cursor to upper case -inoremap viwUea - -" Turn the current word into title case -inoremap b~lea - -" Paste non-linewise text above or below current cursor, -" see https://stackoverflow.com/a/1346777/6064933 -nnoremap p m`op`` -nnoremap P m`Op`` - -" Shortcut for faster save and quit -nnoremap w :update -" Saves the file if modified and quit -nnoremap q :x -" Quit all opened buffers -nnoremap Q :qa! - -" Navigation in the location and quickfix list -nnoremap [l :lpreviouszv -nnoremap ]l :lnextzv -nnoremap [L :lfirstzv -nnoremap ]L :llastzv -nnoremap [q :cpreviouszv -nnoremap ]q :cnextzv -nnoremap [Q :cfirstzv -nnoremap ]Q :clastzv - -" Close location list or quickfix list if they are present, -" see https://superuser.com/q/355325/736190 -nnoremap \x :windo lclose cclose - -" Close a buffer and switching to another buffer, do not close the -" window, see https://stackoverflow.com/q/4465095/6064933 -nnoremap \d :bprevious bdelete # - -" Insert a blank line below or above current line (do not move the cursor), -" see https://stackoverflow.com/a/16136133/6064933 -nnoremap o printf('m`%so``', v:count1) -nnoremap O printf('m`%sO``', v:count1) - -" Insert a space after current character -nnoremap ah - -" Move the cursor based on physical lines, not the actual lines. -nnoremap j (v:count == 0 ? 'gj' : 'j') -nnoremap k (v:count == 0 ? 'gk' : 'k') -nnoremap ^ g^ -nnoremap 0 g0 - -" Do not include white space characters when using $ in visual mode, -" see https://vi.stackexchange.com/q/12607/15292 -xnoremap $ g_ - -" Jump to matching pairs easily in normal mode -nnoremap % - -" Go to start or end of line easier -nnoremap H ^ -xnoremap H ^ -nnoremap L g_ -xnoremap L g_ - -" Continuous visual shifting (does not exit Visual mode), `gv` means -" to reselect previous visual area, see https://superuser.com/q/310417/736190 -xnoremap < >gv - -" When completion menu is shown, use to select an item and do not add an -" annoying newline. Otherwise, is what it is. For more info , see -" https://superuser.com/a/941082/736190 and -" https://unix.stackexchange.com/q/162528/221410 -" inoremap ((pumvisible())?("\"):("\")) -" Use to close auto-completion menu -" inoremap ((pumvisible())?("\"):("\")) - -" Tab-complete, see https://vi.stackexchange.com/q/19675/15292. -inoremap pumvisible() ? "\" : "\" -inoremap pumvisible() ? "\" : "\" - -" Edit and reload nvim config file quickly -nnoremap ev :tabnew $MYVIMRC tcd %:h -nnoremap sv :silent update $MYVIMRC source $MYVIMRC - \ call v:lua.vim.notify("Nvim config successfully reloaded!", 2, {'title': 'nvim-config'}) - -" Reselect the text that has just been pasted, see also https://stackoverflow.com/a/4317090/6064933. -nnoremap v printf('`[%s`]', getregtype()[0]) - -" Always use very magic mode for searching -nnoremap / /\v - -" Search in selected region -xnoremap / :call feedkeys('/\%>'.(line("'<")-1).'l\%<'.(line("'>")+1)."l") - -" Change current working directory locally and print cwd after that, -" see https://vim.fandom.com/wiki/Set_working_directory_to_the_current_file -nnoremap cd :lcd %:p:h:pwd - -" Use Esc to quit builtin terminal -tnoremap - -" Toggle spell checking (autosave does not play well with z=, so we disable it -" when we are doing spell checking) -nnoremap :set spell! -inoremap :set spell! - -" Change text without putting it into the vim register, -" see https://stackoverflow.com/q/54255/6064933 -nnoremap c "_c -nnoremap C "_C -nnoremap cc "_cc -xnoremap c "_c - -" Remove trailing whitespace characters -nnoremap :StripTrailingWhitespace - -" check the syntax group of current cursor position -nnoremap st :call utils#SynGroup() - -" Clear highlighting -if maparg('', 'n') ==# '' - nnoremap :nohlsearch=has('diff')?'diffupdate':'' -endif - -" Copy entire buffer. -nnoremap y :%y - -" Toggle cursor column -nnoremap cl :call utils#ToggleCursorCol() - -" Move current line up and down -nnoremap call utils#SwitchLine(line('.'), 'up') -nnoremap call utils#SwitchLine(line('.'), 'down') - -" Move current visual-line selection up and down -xnoremap :call utils#MoveSelection('up') -xnoremap :call utils#MoveSelection('down') - -" Replace visual selection with text in register, but not contaminate the -" register, see also https://stackoverflow.com/q/10723700/6064933. -xnoremap p "_cp - -nnoremap gb :call buf_utils#GoToBuffer(v:count, 'forward') -nnoremap gB :call buf_utils#GoToBuffer(v:count, 'backward') - -nnoremap h -nnoremap l -nnoremap k -nnoremap j - -" Text objects for URL -xnoremap iu :call text_obj#URL() -onoremap iu :call text_obj#URL() - -" Text objects for entire buffer -xnoremap iB :call text_obj#Buffer() -onoremap iB :call text_obj#Buffer() - -" Do not move my cursor when joining lines. -nnoremap J mzJ`z -nnoremap gJ mzgJ`z - -" Break inserted text into smaller undo units. -for ch in [',', '.', '!', '?', ';', ':'] - execute printf('inoremap %s %su', ch, ch) -endfor - -" insert semicolon in the end -inoremap miA;`ii - -" Keep cursor position after yanking -nnoremap y myy -xnoremap y myy - -augroup restore_after_yank - autocmd! - autocmd TextYankPost * call s:restore_cursor() -augroup END - -function! s:restore_cursor() abort - silent! normal `y - silent! delmarks y -endfunction - -" for mappings defined in lua -lua require('custom-map') -- cgit v1.2.3