diff options
author | Hsieh Chin Fan <pham@topo.tw> | 2024-07-30 20:08:14 +0800 |
---|---|---|
committer | Hsieh Chin Fan <pham@topo.tw> | 2024-07-30 20:08:14 +0800 |
commit | 7479fe85169c38c543c57143dacae1275f9b10c9 (patch) | |
tree | 4bbaf9b298cca6a1244ed37c5acd3e7ae5680165 /vim/init/keymaps.vim | |
parent | c680ac2a4b06ebdc2da9a05311f01495c73f9c01 (diff) |
Update
Diffstat (limited to 'vim/init/keymaps.vim')
-rw-r--r-- | vim/init/keymaps.vim | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/vim/init/keymaps.vim b/vim/init/keymaps.vim index ce5d315..7921693 100644 --- a/vim/init/keymaps.vim +++ b/vim/init/keymaps.vim | |||
@@ -12,7 +12,7 @@ map <space> / | |||
12 | inoremap <C-c> <Esc>l | 12 | inoremap <C-c> <Esc>l |
13 | 13 | ||
14 | " Set wrap | 14 | " Set wrap |
15 | nnoremap <leader>W :set wrap!<CR> | 15 | nnoremap \w :set wrap!<CR> |
16 | 16 | ||
17 | " Fast saving | 17 | " Fast saving |
18 | function! s:WriteOrEnterFileName() | 18 | function! s:WriteOrEnterFileName() |
@@ -53,14 +53,14 @@ function! ToggleWinPadding() | |||
53 | if g:alacritty_extra_padding | 53 | if g:alacritty_extra_padding |
54 | !alacritty msg config --window-id $WINDOWID --reset | 54 | !alacritty msg config --window-id $WINDOWID --reset |
55 | else | 55 | else |
56 | redir => output | hi Normal | redir END | 56 | redir => output | hi SignColumn | redir END |
57 | let bg_color = matchstr(output, 'guibg=\zs[^\s]\+\ze') | 57 | let bg_color = matchstr(output, 'guibg=\zs[^\s]\+\ze') |
58 | exe "!alacritty msg config --window-id $WINDOWID window.padding.x=300 'colors.primary.background=\"\\"..bg_color.."\"'" | 58 | exe "!alacritty msg config --window-id $WINDOWID window.padding.x=300 'colors.primary.background=\"\\"..bg_color.."\"'" |
59 | endif | 59 | endif |
60 | 60 | ||
61 | let g:alacritty_extra_padding = !g:alacritty_extra_padding | 61 | let g:alacritty_extra_padding = !g:alacritty_extra_padding |
62 | endfunc | 62 | endfunc |
63 | nnoremap <leader>Z <Cmd>silent call ToggleWinPadding()<CR> | 63 | nnoremap <leader>z <Cmd>silent call ToggleWinPadding()<CR> |
64 | 64 | ||
65 | " }}} | 65 | " }}} |
66 | " WORKING_DIR {{{ | 66 | " WORKING_DIR {{{ |
@@ -180,9 +180,22 @@ nnoremap <C-p> "0p | |||
180 | map <leader>pp :setlocal paste!<CR> | 180 | map <leader>pp :setlocal paste!<CR> |
181 | 181 | ||
182 | " Copy from system clipboard | 182 | " Copy from system clipboard |
183 | nnoremap <leader>P :r !xsel -ob<CR> | 183 | nnoremap gp "+p |
184 | vnoremap Y "+y | 184 | vnoremap Y "+y |
185 | |||
185 | " }}} | 186 | " }}} |
187 | " MARKS {{{ | ||
188 | |||
189 | " Delete mark | ||
190 | function! DeleteMark(mark) | ||
191 | let mark = nr2char(a:mark) | ||
192 | if mark =~ '[a-z]' | ||
193 | execute "delmarks " . mark | ||
194 | endif | ||
195 | endfunction | ||
196 | nnoremap dm :call DeleteMark(getchar())<CR> | ||
197 | |||
198 | "}}} | ||
186 | " EDIT {{{ | 199 | " EDIT {{{ |
187 | 200 | ||
188 | " Move one line up and down | 201 | " Move one line up and down |
@@ -194,6 +207,7 @@ nnoremap S S<ESC> | |||
194 | 207 | ||
195 | " }}} | 208 | " }}} |
196 | " TERMINAL {{{ | 209 | " TERMINAL {{{ |
210 | |||
197 | " In case ALT key is not working | 211 | " In case ALT key is not working |
198 | " execute "set <M-2>=\e2" | 212 | " execute "set <M-2>=\e2" |
199 | " execute "set <M-1>=\e1" | 213 | " execute "set <M-1>=\e1" |
@@ -210,6 +224,7 @@ nnoremap S S<ESC> | |||
210 | " execute "set <M-d>=\ed" | 224 | " execute "set <M-d>=\ed" |
211 | " execute "set <M-l>=\el" | 225 | " execute "set <M-l>=\el" |
212 | " execute "set <M-h>=\eh" | 226 | " execute "set <M-h>=\eh" |
227 | |||
213 | "}}} | 228 | "}}} |
214 | " MANAGE_VIMRC {{{ | 229 | " MANAGE_VIMRC {{{ |
215 | 230 | ||
@@ -424,11 +439,11 @@ endfunc | |||
424 | nnoremap <leader><leader>fm :<C-\>e'set foldmethod='..&foldmethod<CR> | 439 | nnoremap <leader><leader>fm :<C-\>e'set foldmethod='..&foldmethod<CR> |
425 | nnoremap <leader><leader>fc :<C-\>e'set foldcolumn='..&foldcolumn<CR> | 440 | nnoremap <leader><leader>fc :<C-\>e'set foldcolumn='..&foldcolumn<CR> |
426 | 441 | ||
427 | nnoremap zi zizz:silent exe &foldenable ? "set foldcolumn=auto:3" : "set foldcolumn=0"<CR> | 442 | nnoremap <expr> zi "zizz:silent set foldcolumn="..(&foldenable ? "0" : "auto:3").."\<CR>" |
428 | 443 | ||
429 | " Show fold level when it changes | 444 | " Show fold level when it changes |
430 | nnoremap zm zm:set foldlevel<CR> | 445 | nnoremap zm zm:set foldlevel?<CR> |
431 | nnoremap zr zr:set foldlevel<CR> | 446 | nnoremap zr zr:set foldlevel?<CR> |
432 | 447 | ||
433 | " Fold all except selection | 448 | " Fold all except selection |
434 | vnoremap zF :<C-u>call ToggleUnfoldSelection()<CR> | 449 | vnoremap zF :<C-u>call ToggleUnfoldSelection()<CR> |
@@ -591,6 +606,10 @@ nnoremap <leader>rr :Redir<space> | |||
591 | " Search for selected test | 606 | " Search for selected test |
592 | vnoremap * y/\V<C-R>=escape(@",'/\')<CR><CR> | 607 | vnoremap * y/\V<C-R>=escape(@",'/\')<CR><CR> |
593 | 608 | ||
609 | nnoremap g/ gv<esc>/\%V | ||
610 | vnoremap g/ <esc>/\%V | ||
611 | |||
612 | " Substitue across file | ||
594 | vnoremap <leader>s y:%s//<C-R>0/g<LEFT><LEFT> | 613 | vnoremap <leader>s y:%s//<C-R>0/g<LEFT><LEFT> |
595 | 614 | ||
596 | " Usage: Press <TAB> n times for area, and <CR> for substitute | 615 | " Usage: Press <TAB> n times for area, and <CR> for substitute |