aboutsummaryrefslogtreecommitdiffhomepage
path: root/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
parentc680ac2a4b06ebdc2da9a05311f01495c73f9c01 (diff)
Update
Diffstat (limited to 'vim')
-rw-r--r--vim/init/basic.vim10
-rw-r--r--vim/init/config.vim12
-rw-r--r--vim/init/keymaps.vim33
-rw-r--r--vim/mini.lua14
4 files changed, 47 insertions, 22 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>
36augroup END 35augroup END
37"}}} 36"}}}
38" GERERNAL {{{ 37" GERERNAL {{{
@@ -60,9 +59,6 @@ autocmd FocusGained,BufEnter .* checktime
60set spell 59set spell
61set spellfile="/tmp/spell" 60set spellfile="/tmp/spell"
62 61
63" Custom sign from help page :h sign
64sign 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
97set splitright 93set splitright
98 94
95" Set signcolumn
96set signcolumn=auto:3
97" Custom sign from help page :h sign
98sign 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
17augroup TerminalSize 17augroup 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> /
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
diff --git a/vim/mini.lua b/vim/mini.lua
index 6c31590..115fd27 100644
--- a/vim/mini.lua
+++ b/vim/mini.lua
@@ -776,14 +776,17 @@ require("mini.deps").setup({
776}) 776})
777Add, Now, Later = MiniDeps.add, MiniDeps.now, MiniDeps.later 777Add, Now, Later = MiniDeps.add, MiniDeps.now, MiniDeps.later
778-- }}} 778-- }}}
779-- mini.basics {{{ 779-- -- mini.basics {{{
780require("mini.basics").setup() 780-- require("mini.basics").setup()
781-- }}} 781-- -- }}}
782-- mini.misc {{{ 782-- mini.misc {{{
783require("mini.misc").setup({ 783require("mini.misc").setup({
784 make_global = { "put", "put_text", "zoom" }, 784 make_global = { "put", "put_text", "zoom" },
785}) 785})
786vim.keymap.set( 'n', '<leader>z', function() zoom() end, { buffer = bufnr, desc = 'zoom' }) 786vim.keymap.set( 'n', '<leader>Z', function()
787 zoom()
788 vim.cmd("silent! call ToggleWinPadding()")
789end, { buffer = bufnr, desc = 'zoom' })
787--}}} 790--}}}
788-- mini.extra {{{ 791-- mini.extra {{{
789require("mini.extra").setup() 792require("mini.extra").setup()
@@ -1148,13 +1151,14 @@ vim.keymap.set("n", "<M-p>", "<Cmd>BufferLineTogglePin<CR>", opts)
1148-- }}} 1151-- }}}
1149-- -- TODO: tabpages 1152-- -- TODO: tabpages
1150-- -- }}} 1153-- -- }}}
1154-- marks.nvim {{{
1151Add { 1155Add {
1152 source = "chentoast/marks.nvim" 1156 source = "chentoast/marks.nvim"
1153} 1157}
1154require('marks').setup { 1158require('marks').setup {
1155} 1159}
1156vim.cmd("hi MarkSignHL guifg=#f85e84 guibg=#37343a") 1160vim.cmd("hi MarkSignHL guifg=#f85e84 guibg=#37343a")
1157 1161-- }}}
1158-- KEYMAPS {{{ 1162-- KEYMAPS {{{
1159 1163
1160-- Use floating window for translation 1164-- Use floating window for translation