From 7479fe85169c38c543c57143dacae1275f9b10c9 Mon Sep 17 00:00:00 2001 From: Hsieh Chin Fan Date: Tue, 30 Jul 2024 20:08:14 +0800 Subject: Update --- vim/init/basic.vim | 10 ++++++---- vim/init/config.vim | 12 ++++++------ vim/init/keymaps.vim | 33 ++++++++++++++++++++++++++------- 3 files changed, 38 insertions(+), 17 deletions(-) (limited to 'vim/init') 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 endfor endfunc - nnoremap T :echo t:bufs augroup END "}}} " GERERNAL {{{ @@ -60,9 +59,6 @@ autocmd FocusGained,BufEnter .* checktime set spell set spellfile="/tmp/spell" -" Custom sign from help page :h sign -sign define piet text=>> texthl=Search - " }}} " VISUAL {{{ @@ -96,6 +92,12 @@ set errorformat+=[%f:%l]\ ->\ %m,[%f:%l]:%m " Direction for new window set splitright +" Set signcolumn +set signcolumn=auto:3 +" Custom sign from help page :h sign +sign define piet text=>> texthl=Search + + " }}} " EDIT {{{ 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 augroup TerminalSize au! function! LayoutForSmallTerminal(bound) - let l:bound = a:bound ? a:bound : 19 + let l:bound = a:bound ? a:bound : 20 if &lines < l:bound || g:alacritty_extra_padding silent! set cmdheight=0 laststatus=0 showtabline=0 signcolumn=no nowrap scrolloff=1 else @@ -124,7 +124,7 @@ augroup InitFileTypes " Filetype for Vim {{{ " Help page - autocmd BufEnter * if &filetype == 'help' | wincmd T | set buflisted | endif + autocmd BufEnter * if &filetype == 'help' | wincmd T | set buflisted nofoldenable | endif " quickfix: hide line number autocmd FileType quickfix setlocal nonumber @@ -177,8 +177,8 @@ augroup InitFileTypes let origin = split(MarkdownFoldText()[2:], ' ') let heading = substitute(join(origin[:-3], ' '), '\#', ' ', 'g') let lines = join(origin[-2:], ' ')[1:-2] - let spaces = repeat('.', 50 - len(heading) - len(lines)) - return heading..spaces.." "..lines + let fills = repeat('.', 48 - len(heading) - len(lines)) + return heading.." "..fills.." "..lines endfunc augroup END @@ -224,7 +224,7 @@ augroup InitFileTypes " TODO a better way to determine a file is related to password-store, now use " files under /dev/shm as filter autocmd BufRead /dev/shm/*.txt call SetPasswordFile() - function SetPasswordFile() + function! SetPasswordFile() setlocal foldminlines=0 setlocal foldmethod=manual setlocal foldtext="Password" @@ -234,7 +234,7 @@ augroup InitFileTypes " Beancount {{{ autocmd BufRead,BufNewFile *.bean call PrepareBean() - function PrepareBean() + function! PrepareBean() set filetype=beancount silent !setsid fava ~/bean/main.bean &>/dev/null 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 / inoremap l " Set wrap -nnoremap W :set wrap! +nnoremap \w :set wrap! " Fast saving function! s:WriteOrEnterFileName() @@ -53,14 +53,14 @@ function! ToggleWinPadding() if g:alacritty_extra_padding !alacritty msg config --window-id $WINDOWID --reset else - redir => output | hi Normal | redir END + redir => output | hi SignColumn | redir END let bg_color = matchstr(output, 'guibg=\zs[^\s]\+\ze') exe "!alacritty msg config --window-id $WINDOWID window.padding.x=300 'colors.primary.background=\"\\"..bg_color.."\"'" endif let g:alacritty_extra_padding = !g:alacritty_extra_padding endfunc -nnoremap Z silent call ToggleWinPadding() +nnoremap z silent call ToggleWinPadding() " }}} " WORKING_DIR {{{ @@ -180,9 +180,22 @@ nnoremap "0p map pp :setlocal paste! " Copy from system clipboard -nnoremap P :r !xsel -ob +nnoremap gp "+p vnoremap Y "+y + " }}} +" MARKS {{{ + +" Delete mark +function! DeleteMark(mark) + let mark = nr2char(a:mark) + if mark =~ '[a-z]' + execute "delmarks " . mark + endif +endfunction +nnoremap dm :call DeleteMark(getchar()) + +"}}} " EDIT {{{ " Move one line up and down @@ -194,6 +207,7 @@ nnoremap S S " }}} " TERMINAL {{{ + " In case ALT key is not working " execute "set =\e2" " execute "set =\e1" @@ -210,6 +224,7 @@ nnoremap S S " execute "set =\ed" " execute "set =\el" " execute "set =\eh" + "}}} " MANAGE_VIMRC {{{ @@ -424,11 +439,11 @@ endfunc nnoremap fm :e'set foldmethod='..&foldmethod nnoremap fc :e'set foldcolumn='..&foldcolumn -nnoremap zi zizz:silent exe &foldenable ? "set foldcolumn=auto:3" : "set foldcolumn=0" +nnoremap zi "zizz:silent set foldcolumn="..(&foldenable ? "0" : "auto:3").."\" " Show fold level when it changes -nnoremap zm zm:set foldlevel -nnoremap zr zr:set foldlevel +nnoremap zm zm:set foldlevel? +nnoremap zr zr:set foldlevel? " Fold all except selection vnoremap zF :call ToggleUnfoldSelection() @@ -591,6 +606,10 @@ nnoremap rr :Redir " Search for selected test vnoremap * y/\V=escape(@",'/\') +nnoremap g/ gv/\%V +vnoremap g/ /\%V + +" Substitue across file vnoremap s y:%s//0/g " Usage: Press n times for area, and for substitute -- cgit v1.2.3-70-g09d2