diff options
Diffstat (limited to 'vim/init')
-rw-r--r-- | vim/init/basic.vim | 10 | ||||
-rw-r--r-- | vim/init/config.vim | 12 | ||||
-rw-r--r-- | vim/init/keymaps.vim | 33 |
3 files changed, 38 insertions, 17 deletions
diff --git a/vim/init/basic.vim b/vim/init/basic.vim index 751b3ac..8999f77 100644 --- a/vim/init/basic.vim +++ b/vim/init/basic.vim | |||
@@ -32,7 +32,6 @@ augroup tabinfo | |||
32 | endfor | 32 | endfor |
33 | endfunc | 33 | endfunc |
34 | 34 | ||
35 | nnoremap T :echo t:bufs<CR> | ||
36 | augroup END | 35 | augroup END |
37 | "}}} | 36 | "}}} |
38 | " GERERNAL {{{ | 37 | " GERERNAL {{{ |
@@ -60,9 +59,6 @@ autocmd FocusGained,BufEnter .* checktime | |||
60 | set spell | 59 | set spell |
61 | set spellfile="/tmp/spell" | 60 | set spellfile="/tmp/spell" |
62 | 61 | ||
63 | " Custom sign from help page :h sign | ||
64 | sign define piet text=>> texthl=Search | ||
65 | |||
66 | " }}} | 62 | " }}} |
67 | " VISUAL {{{ | 63 | " VISUAL {{{ |
68 | 64 | ||
@@ -96,6 +92,12 @@ set errorformat+=[%f:%l]\ ->\ %m,[%f:%l]:%m | |||
96 | " Direction for new window | 92 | " Direction for new window |
97 | set splitright | 93 | set splitright |
98 | 94 | ||
95 | " Set signcolumn | ||
96 | set signcolumn=auto:3 | ||
97 | " Custom sign from help page :h sign | ||
98 | sign define piet text=>> texthl=Search | ||
99 | |||
100 | |||
99 | " }}} | 101 | " }}} |
100 | " EDIT {{{ | 102 | " EDIT {{{ |
101 | 103 | ||
diff --git a/vim/init/config.vim b/vim/init/config.vim index 9700c61..368be25 100644 --- a/vim/init/config.vim +++ b/vim/init/config.vim | |||
@@ -17,7 +17,7 @@ augroup END | |||
17 | augroup TerminalSize | 17 | augroup TerminalSize |
18 | au! | 18 | au! |
19 | function! LayoutForSmallTerminal(bound) | 19 | function! LayoutForSmallTerminal(bound) |
20 | let l:bound = a:bound ? a:bound : 19 | 20 | let l:bound = a:bound ? a:bound : 20 |
21 | if &lines < l:bound || g:alacritty_extra_padding | 21 | if &lines < l:bound || g:alacritty_extra_padding |
22 | silent! set cmdheight=0 laststatus=0 showtabline=0 signcolumn=no nowrap scrolloff=1 | 22 | silent! set cmdheight=0 laststatus=0 showtabline=0 signcolumn=no nowrap scrolloff=1 |
23 | else | 23 | else |
@@ -124,7 +124,7 @@ augroup InitFileTypes | |||
124 | " Filetype for Vim {{{ | 124 | " Filetype for Vim {{{ |
125 | 125 | ||
126 | " Help page | 126 | " Help page |
127 | autocmd BufEnter * if &filetype == 'help' | wincmd T | set buflisted | endif | 127 | autocmd BufEnter * if &filetype == 'help' | wincmd T | set buflisted nofoldenable | endif |
128 | 128 | ||
129 | " quickfix: hide line number | 129 | " quickfix: hide line number |
130 | autocmd FileType quickfix setlocal nonumber | 130 | autocmd FileType quickfix setlocal nonumber |
@@ -177,8 +177,8 @@ augroup InitFileTypes | |||
177 | let origin = split(MarkdownFoldText()[2:], ' ') | 177 | let origin = split(MarkdownFoldText()[2:], ' ') |
178 | let heading = substitute(join(origin[:-3], ' '), '\#', ' ', 'g') | 178 | let heading = substitute(join(origin[:-3], ' '), '\#', ' ', 'g') |
179 | let lines = join(origin[-2:], ' ')[1:-2] | 179 | let lines = join(origin[-2:], ' ')[1:-2] |
180 | let spaces = repeat('.', 50 - len(heading) - len(lines)) | 180 | let fills = repeat('.', 48 - len(heading) - len(lines)) |
181 | return heading..spaces.." "..lines | 181 | return heading.." "..fills.." "..lines |
182 | endfunc | 182 | endfunc |
183 | 183 | ||
184 | augroup END | 184 | augroup END |
@@ -224,7 +224,7 @@ augroup InitFileTypes | |||
224 | " TODO a better way to determine a file is related to password-store, now use | 224 | " TODO a better way to determine a file is related to password-store, now use |
225 | " files under /dev/shm as filter | 225 | " files under /dev/shm as filter |
226 | autocmd BufRead /dev/shm/*.txt call SetPasswordFile() | 226 | autocmd BufRead /dev/shm/*.txt call SetPasswordFile() |
227 | function SetPasswordFile() | 227 | function! SetPasswordFile() |
228 | setlocal foldminlines=0 | 228 | setlocal foldminlines=0 |
229 | setlocal foldmethod=manual | 229 | setlocal foldmethod=manual |
230 | setlocal foldtext="Password" | 230 | setlocal foldtext="Password" |
@@ -234,7 +234,7 @@ augroup InitFileTypes | |||
234 | " Beancount {{{ | 234 | " Beancount {{{ |
235 | 235 | ||
236 | autocmd BufRead,BufNewFile *.bean call PrepareBean() | 236 | autocmd BufRead,BufNewFile *.bean call PrepareBean() |
237 | function PrepareBean() | 237 | function! PrepareBean() |
238 | set filetype=beancount | 238 | set filetype=beancount |
239 | silent !setsid fava ~/bean/main.bean &>/dev/null | 239 | silent !setsid fava ~/bean/main.bean &>/dev/null |
240 | autocmd VimLeave * silent !killall fava | 240 | autocmd VimLeave * silent !killall fava |
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 |