aboutsummaryrefslogtreecommitdiffhomepage
path: root/vim/init/keymaps.vim
diff options
context:
space:
mode:
authorHsieh Chin Fan <pham@topo.tw>2024-07-30 20:08:14 +0800
committerHsieh Chin Fan <pham@topo.tw>2024-07-30 20:08:14 +0800
commit7479fe85169c38c543c57143dacae1275f9b10c9 (patch)
tree4bbaf9b298cca6a1244ed37c5acd3e7ae5680165 /vim/init/keymaps.vim
parentc680ac2a4b06ebdc2da9a05311f01495c73f9c01 (diff)
Update
Diffstat (limited to 'vim/init/keymaps.vim')
-rw-r--r--vim/init/keymaps.vim33
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> /
12inoremap <C-c> <Esc>l 12inoremap <C-c> <Esc>l
13 13
14" Set wrap 14" Set wrap
15nnoremap <leader>W :set wrap!<CR> 15nnoremap \w :set wrap!<CR>
16 16
17" Fast saving 17" Fast saving
18function! s:WriteOrEnterFileName() 18function! 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
62endfunc 62endfunc
63nnoremap <leader>Z <Cmd>silent call ToggleWinPadding()<CR> 63nnoremap <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
180map <leader>pp :setlocal paste!<CR> 180map <leader>pp :setlocal paste!<CR>
181 181
182" Copy from system clipboard 182" Copy from system clipboard
183nnoremap <leader>P :r !xsel -ob<CR> 183nnoremap gp "+p
184vnoremap Y "+y 184vnoremap Y "+y
185
185" }}} 186" }}}
187" MARKS {{{
188
189" Delete mark
190function! DeleteMark(mark)
191 let mark = nr2char(a:mark)
192 if mark =~ '[a-z]'
193 execute "delmarks " . mark
194 endif
195endfunction
196nnoremap 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
424nnoremap <leader><leader>fm :<C-\>e'set foldmethod='..&foldmethod<CR> 439nnoremap <leader><leader>fm :<C-\>e'set foldmethod='..&foldmethod<CR>
425nnoremap <leader><leader>fc :<C-\>e'set foldcolumn='..&foldcolumn<CR> 440nnoremap <leader><leader>fc :<C-\>e'set foldcolumn='..&foldcolumn<CR>
426 441
427nnoremap zi zizz:silent exe &foldenable ? "set foldcolumn=auto:3" : "set foldcolumn=0"<CR> 442nnoremap <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
430nnoremap zm zm:set foldlevel<CR> 445nnoremap zm zm:set foldlevel?<CR>
431nnoremap zr zr:set foldlevel<CR> 446nnoremap zr zr:set foldlevel?<CR>
432 447
433" Fold all except selection 448" Fold all except selection
434vnoremap zF :<C-u>call ToggleUnfoldSelection()<CR> 449vnoremap 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
592vnoremap * y/\V<C-R>=escape(@",'/\')<CR><CR> 607vnoremap * y/\V<C-R>=escape(@",'/\')<CR><CR>
593 608
609nnoremap g/ gv<esc>/\%V
610vnoremap g/ <esc>/\%V
611
612" Substitue across file
594vnoremap <leader>s y:%s//<C-R>0/g<LEFT><LEFT> 613vnoremap <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