aboutsummaryrefslogtreecommitdiffhomepage
path: root/vim/init/keymaps.vim
diff options
context:
space:
mode:
Diffstat (limited to 'vim/init/keymaps.vim')
-rw-r--r--vim/init/keymaps.vim58
1 files changed, 33 insertions, 25 deletions
diff --git a/vim/init/keymaps.vim b/vim/init/keymaps.vim
index f6bda45..d456791 100644
--- a/vim/init/keymaps.vim
+++ b/vim/init/keymaps.vim
@@ -8,16 +8,10 @@
8" Space for searching 8" Space for searching
9map <space> / 9map <space> /
10 10
11" Escape normal mode by <C-c>
12inoremap <C-c> <Esc>l
13
14" Set wrap
15nnoremap \w :set wrap!<CR>:set wrap?<CR>
16
17" Fast saving 11" Fast saving
18function! s:WriteOrEnterFileName() 12function! s:WriteOrEnterFileName()
19 if !empty(bufname('%')) | write! | else | call feedkeys(":w ") | endif 13 if !empty(bufname('%')) | write! | else | call feedkeys(":w ") | endif
20endfunction 14endfunc
21nnoremap <leader>w :call <SID>WriteOrEnterFileName()<CR> 15nnoremap <leader>w :call <SID>WriteOrEnterFileName()<CR>
22 16
23" :W sudo saves the file 17" :W sudo saves the file
@@ -99,7 +93,7 @@ xnoremap iq i"
99xnoremap aq a" 93xnoremap aq a"
100 94
101 95
102" READLINE_FEATURES {{{ 96" READLINE {{{
103 97
104inoremap <C-f> <Right> 98inoremap <C-f> <Right>
105inoremap <C-b> <Left> 99inoremap <C-b> <Left>
@@ -124,12 +118,10 @@ cnoremap <C-d> <Del>
124cnoremap <C-h> <BackSpace> 118cnoremap <C-h> <BackSpace>
125cnoremap <C-n> <Down> 119cnoremap <C-n> <Down>
126cnoremap <C-p> <Up> 120cnoremap <C-p> <Up>
127cnoremap <C-k> <C-x>d$<C-c> 121cnoremap <C-k> <C-x>d$<C-c><space><BS>
128cnoremap <M-d> <C-x>de<C-c> 122cnoremap <M-d> <C-x>de<C-c><space><BS>
129 123
130" Moving with wrap 124" Moving with wrap
131nnoremap <m-j> gj
132nnoremap <m-k> gk
133inoremap <m-j> <c-\><c-o>gj 125inoremap <m-j> <c-\><c-o>gj
134inoremap <m-k> <c-\><c-o>gk 126inoremap <m-k> <c-\><c-o>gk
135" }}} 127" }}}
@@ -159,6 +151,22 @@ inoremap <silent><M-9> <Esc>:tablast<CR>
159" }}} 151" }}}
160" EDIT {{{ 152" EDIT {{{
161 153
154" Escape normal mode by <C-c>
155inoremap <C-c> <Esc>l
156
157" Set wrap
158nnoremap \w :set wrap!<CR>:set wrap?<CR>
159
160" Set line numbers
161nnoremap \n :set nu!<CR>:set nu?<CR>
162nnoremap \r :set relativenumber!<CR>:set rnu?<CR>
163
164nnoremap \l :set list!<CR>:set list?<CR>
165
166" Set options for indent
167nnoremap <leader><leader>sw :<C-\>e'set shiftwidth='..&shiftwidth<CR>
168nnoremap <leader><leader>ts :<C-\>e'set tabstop='..&tabstop<CR>
169
162" Set text width for auto wrapping 170" Set text width for auto wrapping
163nnoremap <leader><leader>tw :set fo+=t<CR>:<C-\>e'set tw='..&tw<CR> 171nnoremap <leader><leader>tw :set fo+=t<CR>:<C-\>e'set tw='..&tw<CR>
164 172
@@ -222,7 +230,7 @@ let g:search_selection = 0
222" When leaving visual mode, resume search_selection 230" When leaving visual mode, resume search_selection
223autocmd Modechanged [vV\x16]*:* let g:search_selection = 0 231autocmd Modechanged [vV\x16]*:* let g:search_selection = 0
224xmap <expr> <TAB> g:search_selection ? "//e<CR>" : "*:let g:search_selection = 1<CR>gv//e<CR>" 232xmap <expr> <TAB> g:search_selection ? "//e<CR>" : "*:let g:search_selection = 1<CR>gv//e<CR>"
225xmap <expr> <S-TAB> g:search_selection ? "??<CR>" : "*:let g:search_selection = 1<CR>gv??<CR>" 233xmap <expr> <S-TAB> g:search_selection ? "??<CR>" : "*:let g:search_selection = 1<CR>gv??<CR>"
226vnoremap <CR> :s//<C-R>0/g<Left><Left> 234vnoremap <CR> :s//<C-R>0/g<Left><Left>
227 235
228" }}} 236" }}}
@@ -310,7 +318,7 @@ nnoremap \z :call GrayOutOthers()<CR>
310nnoremap <C-p> "0p 318nnoremap <C-p> "0p
311 319
312" Toggle paste mode on and off 320" Toggle paste mode on and off
313map <leader>pp :setlocal paste!<CR> 321nnoremap <leader><leader>p :setlocal paste!<CR>
314 322
315" Copy from system clipboard 323" Copy from system clipboard
316nnoremap gp "+p 324nnoremap gp "+p
@@ -415,7 +423,7 @@ nnoremap <expr> z> ":\<C-u>call ChangeUnfold(1,"..v:count..")\<CR>"
415nnoremap <expr> z< ":\<C-u>call ChangeUnfold(0,"..v:count..")\<CR>" 423nnoremap <expr> z< ":\<C-u>call ChangeUnfold(0,"..v:count..")\<CR>"
416 424
417"}}} 425"}}}
418" MANAGE_VIMRC {{{ 426" MANAGE_SCRIPTS {{{
419 427
420" source .vimrc 428" source .vimrc
421nnoremap <leader>so V:so<CR> 429nnoremap <leader>so V:so<CR>
@@ -424,7 +432,7 @@ vnoremap so :source<CR>
424autocmd! BUFWRITEPOST $MYVIMRC source $MYVIMRC 432autocmd! BUFWRITEPOST $MYVIMRC source $MYVIMRC
425 433
426" Find scripts 434" Find scripts
427nnoremap <leader>e :scriptnames<space> 435nnoremap <leader>es :scriptnames<space>
428nnoremap <leader>ee :edit $MYVIMRC<CR> 436nnoremap <leader>ee :edit $MYVIMRC<CR>
429 437
430" }}} 438" }}}
@@ -433,13 +441,8 @@ nnoremap <leader>ee :edit $MYVIMRC<CR>
433" Set options 441" Set options
434nnoremap so :set<space> 442nnoremap so :set<space>
435nnoremap <leader><leader>ft :<C-\>e'set filetype='..&filetype<CR> 443nnoremap <leader><leader>ft :<C-\>e'set filetype='..&filetype<CR>
436nnoremap <leader><leader>sw :<C-\>e'set shiftwidth='..&shiftwidth<CR>
437nnoremap <leader><leader>ts :<C-\>e'set tabstop='..&tabstop<CR>
438nnoremap \E :set expandtab!<CR>:set expandtab?<CR> 444nnoremap \E :set expandtab!<CR>:set expandtab?<CR>
439nnoremap \e :call ToggleEventIgnore()<CR> 445nnoremap \e :call ToggleEventIgnore()<CR>
440nnoremap \l :set list!<CR>:set list?<CR>
441nnoremap \n :set nu!<CR>:set nu?<CR>
442nnoremap \r :set relativenumber!<CR>:set rnu?<CR>
443 446
444function! ToggleEventIgnore() 447function! ToggleEventIgnore()
445 let operator = empty(&eventignore) ? "+=" : "-=" 448 let operator = empty(&eventignore) ? "+=" : "-="
@@ -628,8 +631,8 @@ endfunc
628 631
629" Use <leader>z to toggle window padding for alacritty 632" Use <leader>z to toggle window padding for alacritty
630let g:alacritty_extra_padding = 0 633let g:alacritty_extra_padding = 0
631function! ToggleWinPadding(padding) 634function! ToggleWinPadding(occupy)
632 if g:alacritty_extra_padding && !a:padding 635 if g:alacritty_extra_padding && !a:occupy
633 !alacritty msg config --window-id $WINDOWID --reset 636 !alacritty msg config --window-id $WINDOWID --reset
634 call SetEmulaterBackground() 637 call SetEmulaterBackground()
635 hi EndOfBuffer None 638 hi EndOfBuffer None
@@ -639,12 +642,18 @@ function! ToggleWinPadding(padding)
639 let bg_color = matchstr(output, 'guibg=\zs[^\s]\+\ze') 642 let bg_color = matchstr(output, 'guibg=\zs[^\s]\+\ze')
640 if empty(bg_color) | let bg_color = "#14161b" | endif 643 if empty(bg_color) | let bg_color = "#14161b" | endif
641 644
645 redir => win_width_str
646 !xdotool getactivewindow getwindowgeometry --shell | grep WIDTH | sed s/WIDTH=//
647 redir END
648 let win_width = str2nr(matchstr(win_width_str, '[0-9]\+'))
649
650 let padding = a:occupy ? (100-a:occupy) / 2 * win_width / 100 : 15 * win_width / 100
651
642 try 652 try
643 exe "hi EndOfBuffer guifg="..bg_color.." guibg="..bg_color 653 exe "hi EndOfBuffer guifg="..bg_color.." guibg="..bg_color
644 exe "hi MsgArea guibg="..bg_color 654 exe "hi MsgArea guibg="..bg_color
645 endtry 655 endtry
646 656
647 let padding = a:padding ? a:padding : "270"
648 exe "!alacritty msg config --window-id $WINDOWID window.padding.x=" . padding . " 'colors.primary.background=\"\\"..bg_color.."\"'" 657 exe "!alacritty msg config --window-id $WINDOWID window.padding.x=" . padding . " 'colors.primary.background=\"\\"..bg_color.."\"'"
649 endif 658 endif
650 659
@@ -737,7 +746,6 @@ function! Redir(cmd)
737endfunction 746endfunction
738 747
739command! -nargs=1 -complete=command Redir silent call Redir(<q-args>) 748command! -nargs=1 -complete=command Redir silent call Redir(<q-args>)
740command! -nargs=1 -complete=command R silent call Redir(<q-args>)
741nnoremap <leader>rr :Redir<space> 749nnoremap <leader>rr :Redir<space>
742 750
743" Print Runtimepath 751" Print Runtimepath