aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorHsieh Chin Fan <pham@topo.tw>2024-07-20 21:19:47 +0800
committerHsieh Chin Fan <pham@topo.tw>2024-07-20 23:33:14 +0800
commitb827b89821a04794e6dd16ae326c6e0bef35f067 (patch)
treefe685073181ee7820dfc1bd0b18506bd15b6fb0d
parent16117d8500e6b00de0c1f8b27abca839b7729e76 (diff)
Update
-rw-r--r--vim/init/keymaps.vim125
-rw-r--r--vim/mini.lua357
2 files changed, 305 insertions, 177 deletions
diff --git a/vim/init/keymaps.vim b/vim/init/keymaps.vim
index 5639e11..1a5e88a 100644
--- a/vim/init/keymaps.vim
+++ b/vim/init/keymaps.vim
@@ -1,6 +1,7 @@
1"====================================================================== 1"======================================================================
2" Only for key mapping 2" Only for key mapping
3"====================================================================== 3"======================================================================
4" vim: sw=2 ts=2 foldmethod=marker foldmarker={{{,}}}
4 5
5" COMMON_MAPPING ----------------{{{ 6" COMMON_MAPPING ----------------{{{
6 7
@@ -8,17 +9,17 @@
8map <space> / 9map <space> /
9 10
10" Escape normal mode by <C-c> 11" Escape normal mode by <C-c>
11imap <C-c> <Esc>l 12inoremap <C-c> <Esc>l
12 13
13" Search for selected test 14" Search for selected test
14vnoremap * y/\V<C-R>=escape(@",'/\')<CR><CR> 15vnoremap * y/\V<C-R>=escape(@",'/\')<CR><CR>
15" Set wrap
16 16
17" Set wrap
17nnoremap <leader>W :set wrap!<CR> 18nnoremap <leader>W :set wrap!<CR>
18 19
19" Fast saving 20" Fast saving
20function! s:WriteOrEnterFileName() 21function! s:WriteOrEnterFileName()
21 if !empty(expand('%')) | w! | else | call feedkeys(":w ") | endif 22 if !empty(expand('%')) | write! | else | call feedkeys(":w ") | endif
22endfunction 23endfunction
23nmap <leader>w :call <SID>WriteOrEnterFileName()<CR> 24nmap <leader>w :call <SID>WriteOrEnterFileName()<CR>
24 25
@@ -38,27 +39,9 @@ augroup vimrc_CRfix
38 autocmd CmdwinEnter * nnoremap <buffer> <C-c> <C-c> 39 autocmd CmdwinEnter * nnoremap <buffer> <C-c> <C-c>
39augroup END 40augroup END
40 41
41" Open terminal
42" nnoremap <leader>, :terminal ++noclose<CR>
43vnoremap <leader>, :terminal<CR>
44
45" Paste register 0
46nnoremap <C-p> "0p
47
48" Toggle paste mode on and off
49map <leader>pp :setlocal paste!<CR>
50
51" Copy from system clipboard
52nnoremap <leader>P :r !xsel -ob<CR>
53vnoremap Y "+y
54
55" Move one line up and down
56nnoremap <C-j> ddp
57nnoremap <C-k> ddkP
58
59" In case ALT key is not working 42" In case ALT key is not working
60" execute "set <M-1>=\e1"
61" execute "set <M-2>=\e2" 43" execute "set <M-2>=\e2"
44" execute "set <M-1>=\e1"
62" execute "set <M-3>=\e3" 45" execute "set <M-3>=\e3"
63" execute "set <M-4>=\e4" 46" execute "set <M-4>=\e4"
64" execute "set <M-5>=\e5" 47" execute "set <M-5>=\e5"
@@ -81,8 +64,6 @@ nnoremap <leader>S [s
81" Show full path by default 64" Show full path by default
82nnoremap <C-g> 1<C-g> 65nnoremap <C-g> 1<C-g>
83 66
84nnoremap S S<ESC>
85
86" Translate by Google API 67" Translate by Google API
87vnoremap Tz :!trans -t zh-TW -b<CR> 68vnoremap Tz :!trans -t zh-TW -b<CR>
88vnoremap Te :!trans -t en-US -b<CR> 69vnoremap Te :!trans -t en-US -b<CR>
@@ -193,6 +174,27 @@ inoremap <silent><M-9> <Esc>:tablast<CR>
193" }}} 174" }}}
194 175
195" }}} 176" }}}
177" REGISTER {{{
178" Paste register 0
179nnoremap <C-p> "0p
180
181" Toggle paste mode on and off
182map <leader>pp :setlocal paste!<CR>
183
184" Copy from system clipboard
185nnoremap <leader>P :r !xsel -ob<CR>
186vnoremap Y "+y
187" }}}
188" EDIT {{{
189
190" Move one line up and down
191nnoremap <C-j> ddp
192nnoremap <C-k> ddkP
193
194" Clear current line
195nnoremap S S<ESC>
196
197" }}}
196" MANAGE_VIMRC ----------------{{{ 198" MANAGE_VIMRC ----------------{{{
197 199
198" source .vimrc 200" source .vimrc
@@ -395,18 +397,22 @@ endfunc
395noremap <leader><leader>fm :<C-\>e'set foldmethod='..&foldmethod<CR> 397noremap <leader><leader>fm :<C-\>e'set foldmethod='..&foldmethod<CR>
396noremap <leader><leader>fc :<C-\>e'set foldcolumn='..&foldcolumn<CR> 398noremap <leader><leader>fc :<C-\>e'set foldcolumn='..&foldcolumn<CR>
397 399
400nnoremap zi zizz
401
398" Show fold level when it changes 402" Show fold level when it changes
399nnoremap zm zm:set foldlevel<CR> 403nnoremap zm zm:set foldlevel<CR>
400nnoremap zr zr:set foldlevel<CR> 404nnoremap zr zr:set foldlevel<CR>
401 405
402" Fold all except selection 406" Fold all except selection
403vnoremap zF :<C-u>call UnfoldSelectionOnly()<CR> 407vnoremap zF :<C-u>call ToggleUnfoldSelection()<CR>
404" Resume 408" Resume
405nnoremap zF :<C-u>call ResumeFoldmethod()<CR>zv 409nnoremap zF :call ToggleUnfoldSelection()<CR>zv
410
411nnoremap \z :call GrayOutOtherFolds()<CR>
406 412
407" Select current fold 413" Select current fold
408xnoremap az :<C-U>silent!normal![zV]z<CR> 414xnoremap az :<C-U>silent! keepjumps normal![zV]z<CR>
409xnoremap iz :<C-U>silent!normal![zjV]zk<CR> 415xnoremap iz :<C-U>silent! keepjumps normal![zjV]zk<CR>
410 416
411" Use l to open fold 417" Use l to open fold
412nnoremap <expr> l foldclosed('.') == -1 ? 'l' : 'zo' 418nnoremap <expr> l foldclosed('.') == -1 ? 'l' : 'zo'
@@ -415,29 +421,49 @@ nnoremap <expr> l foldclosed('.') == -1 ? 'l' : 'zo'
415nnoremap <expr> zo foldclosed('.') == -1 ? 'zjzo' : 'zo' 421nnoremap <expr> zo foldclosed('.') == -1 ? 'zjzo' : 'zo'
416nnoremap <expr> zO foldclosed('.') == -1 ? 'zjzO' : 'zO' 422nnoremap <expr> zO foldclosed('.') == -1 ? 'zjzO' : 'zO'
417 423
424" Go to next fold and unfold
418nnoremap zJ zjzx 425nnoremap zJ zjzx
419nnoremap zK zkzx 426nnoremap zK zkzx
420 427
421" Fold file except selection 428" Fold file except selection
422let b:original_foldmethod = "" 429autocmd BufEnter * let b:unfold_selection = 0
423function! UnfoldSelectionOnly() 430function! ToggleUnfoldSelection()
424 echo 'Unfold'..&foldmethod 431 if !b:unfold_selection
425 let b:original_foldmethod = &foldmethod 432 let b:unfold_selection = 1
426 let &foldmethod = "manual" 433 mkview
427 norm! zE 434 echo 'Unfold'..&foldmethod
428 execute "0,'<-1fold" 435
429 execute "'>+1,$fold" 436 let &foldmethod = "manual"
437 norm! zE
438 execute "0,'<-1fold"
439 execute "'>+1,$fold"
440 else
441 let b:unfold_selection = 0
442 loadview
443 endif
444endfunction
445
446autocmd BufEnter * let b:clear_matches = 0
447function! GrayOutOtherFolds()
448 if b:clear_matches
449 let b:clear_matches = 0
450 call clearmatches()
451 else
452 let b:clear_matches = 1
453 let pos = getpos('.')
454 exe "norm! [zV]z\<C-c>"
455 call matchadd('Folded', '\%<'.line("'<").'l')
456 call matchadd('Folded', '\%>'.line("'>").'l')
457 norm! zR
458 call setpos('.', pos)
459 endif
430endfunction 460endfunction
431function! ResumeFoldmethod()
432 norm! zE
433 let &foldmethod = empty(b:original_foldmethod) ? "indent" : b:original_foldmethod
434endfunc
435 461
436" }}} 462" }}}
437" HIGHLIGHT ----------------{{{ 463" HIGHLIGHT ----------------{{{
438 464
439" Disable highlight when <leader><CR> is pressed 465" Disable highlight when <leader><CR> is pressed
440map <silent> <leader><CR> :noh<CR> 466noremap <silent> <leader><CR> :noh<CR>
441 467
442function! HiFile() 468function! HiFile()
443 let i = 1 469 let i = 1
@@ -454,7 +480,7 @@ endfunction
454function! GetHighlightGroupName() 480function! GetHighlightGroupName()
455 let l:syntaxID = synID(line('.'), col('.'), 1) 481 let l:syntaxID = synID(line('.'), col('.'), 1)
456 let l:groupName = synIDattr(l:syntaxID, 'name') 482 let l:groupName = synIDattr(l:syntaxID, 'name')
457 echo "Highlight Group Name: " . l:groupName 483 echo l:groupName
458endfunction 484endfunction
459nnoremap <leader>H :call GetHighlightGroupName()<CR> 485nnoremap <leader>H :call GetHighlightGroupName()<CR>
460 486
@@ -485,9 +511,12 @@ vnoremap ` <ESC>`<i`<ESC>`>la`<ESC>
485vnoremap Q <ESC>`<i「<ESC>`>la」<ESC> 511vnoremap Q <ESC>`<i「<ESC>`>la」<ESC>
486 512
487function! AddSpaceForSelection() 513function! AddSpaceForSelection()
514 " If visual selection by lines, add empty space at top and bottom
488 if line("'<") != line("'>") || (col("'<") == 1 && col("'>") == len(getline('.'))+1) 515 if line("'<") != line("'>") || (col("'<") == 1 && col("'>") == len(getline('.'))+1)
489 '< norm! O 516 '< norm! O |
490 '> norm! o 517 '> norm! o
518 exe "norm! "..(line("'<")-1).."GV"..(line("'>")+1).."G"
519 " Otherwise, add space at start and end column
491 else 520 else
492 call cursor('.', col("'<")) 521 call cursor('.', col("'<"))
493 execute "norm! i\<space>" 522 execute "norm! i\<space>"
@@ -543,7 +572,7 @@ autocmd Modechanged [vV\x16]*:* let g:search_not_in_register = 1
543function! ExpandSelectionBySearch(sep) 572function! ExpandSelectionBySearch(sep)
544 if g:search_not_in_register 573 if g:search_not_in_register
545 " Save current selection to register, and keep selection 574 " Save current selection to register, and keep selection
546 execute 'norm ygv' 575 norm! ygv
547 let g:search_not_in_register = 0 576 let g:search_not_in_register = 0
548 endif 577 endif
549 " Use register s to go to next search, counts/total is displayed in 578 " Use register s to go to next search, counts/total is displayed in
@@ -565,7 +594,7 @@ vnoremap <CR> <Cmd>call SubstituteBySearch()<CR>
565nnoremap <leader>si :exe ":sign place " .. line('.') .. " line=" .. line('.') .. " name=piet file=" .. expand("%:p")<CR> 594nnoremap <leader>si :exe ":sign place " .. line('.') .. " line=" .. line('.') .. " name=piet file=" .. expand("%:p")<CR>
566nnoremap <leader>sI :exe ":sign unplace * file=" .. expand("%:p")<CR> 595nnoremap <leader>sI :exe ":sign unplace * file=" .. expand("%:p")<CR>
567 596
568" }} 597" }}}
569" GIT_TIG ----------------{{{ 598" GIT_TIG ----------------{{{
570 599
571let g:tig_explorer_keymap_commit_split = '<C-s>' 600let g:tig_explorer_keymap_commit_split = '<C-s>'
@@ -575,7 +604,7 @@ nnoremap <C-t>s <Cmd>TigStatus<CR>
575nnoremap <C-t>b <Cmd>TigBlame<CR> 604nnoremap <C-t>b <Cmd>TigBlame<CR>
576 605
577" }}} 606" }}}
578" Markdown items (temproray solution) ----------------{{{ 607" Tmp: Markdown items (temproray solution) ----------------{{{
579 608
580" Toggle list item in markdown: "- [ ] XXX" -> "XXX" -> "- XXX" -> "- [ ] XXX" 609" Toggle list item in markdown: "- [ ] XXX" -> "XXX" -> "- XXX" -> "- [ ] XXX"
581" autocmd FileType markdown nnoremap <buffer> <leader>i V:!sed -E '/^ *- \[.\]/ { s/^( *)- \[.\] */\1/; q; }; /^ *[^[:space:]-]/ { s/^( *)/\1- /; q; }; /^ *- / { s/^( *)- /\1- [ ] /; q; }'<CR><CR> 610" autocmd FileType markdown nnoremap <buffer> <leader>i V:!sed -E '/^ *- \[.\]/ { s/^( *)- \[.\] */\1/; q; }; /^ *[^[:space:]-]/ { s/^( *)/\1- /; q; }; /^ *- / { s/^( *)- /\1- [ ] /; q; }'<CR><CR>
@@ -584,14 +613,14 @@ nnoremap <C-t>b <Cmd>TigBlame<CR>
584" Toggle task status: "- [ ] " -> "- [x]" -> "- [.] " -> "- [ ] " 613" Toggle task status: "- [ ] " -> "- [x]" -> "- [.] " -> "- [ ] "
585" nnoremap <leader>x V:!sed -E '/^ *- \[ \]/ { s/^( *)- \[ \]/\1- [x]/; q; }; /^ *- \[\x\]/ { s/^( *)- \[\x\]/\1- [.]/; q; }; /^ *- \[\.\]/ { s/^( *)- \[\.\]/\1- [ ]/; q; }'<CR><CR> 614" nnoremap <leader>x V:!sed -E '/^ *- \[ \]/ { s/^( *)- \[ \]/\1- [x]/; q; }; /^ *- \[\x\]/ { s/^( *)- \[\x\]/\1- [.]/; q; }; /^ *- \[\.\]/ { s/^( *)- \[\.\]/\1- [ ]/; q; }'<CR><CR>
586" }}} 615" }}}
587" Common system command ----------------{{{ 616" Tmp: Common system command ----------------{{{
588" Show date selector 617" Show date selector
589nnoremap <leader>dd :r !sh -c 'LANG=en zenity --calendar --date-format="\%Y.\%m.\%d" 2>/dev/null'<CR><CR> 618nnoremap <leader>dd :r !sh -c 'LANG=en zenity --calendar --date-format="\%Y.\%m.\%d" 2>/dev/null'<CR><CR>
590nnoremap <leader>dD :r !sh -c 'LANG=en zenity --calendar --date-format="\%a \%b \%d" 2>/dev/null'<CR><CR> 619nnoremap <leader>dD :r !sh -c 'LANG=en zenity --calendar --date-format="\%a \%b \%d" 2>/dev/null'<CR><CR>
591nnoremap <leader>dt :r !date +\%H:\%m<CR>A 620nnoremap <leader>dt :r !date +\%H:\%m<CR>A
592 621
593" }}} 622" }}}
594" Compile ----------------{{{ 623" Tmp: Compile ----------------{{{
595 624
596" 编译运行 C/C++ 项目 625" 编译运行 C/C++ 项目
597" 详细见:http://www.skywind.me/blog/archives/2084 626" 详细见:http://www.skywind.me/blog/archives/2084
diff --git a/vim/mini.lua b/vim/mini.lua
index d87c01c..b09dc88 100644
--- a/vim/mini.lua
+++ b/vim/mini.lua
@@ -29,14 +29,6 @@ require('mini.deps').setup({
29}) 29})
30add, now, later = MiniDeps.add, MiniDeps.now, MiniDeps.later 30add, now, later = MiniDeps.add, MiniDeps.now, MiniDeps.later
31-- }}} 31-- }}}
32-- Disabled: mini.bufremote {{{
33add('echasnovski/mini.bufremove')
34vim.g.bufremove_disable = true
35--}}}
36-- Disabled: mini.animate --{{{
37add('echasnovski/mini.animate')
38vim.g.animate_disable = true
39-- }}}
40-- mini.basics {{{ 32-- mini.basics {{{
41require('mini.basics').setup() 33require('mini.basics').setup()
42-- }}} 34-- }}}
@@ -49,7 +41,7 @@ require('mini.extra').setup()
49-- }}} 41-- }}}
50-- mini.colors {{{ 42-- mini.colors {{{
51require('mini.colors').setup() 43require('mini.colors').setup()
52vim.keymap.set( 'n', '<leader>co', function() require('mini.colors').interactive() end) 44vim.keymap.set( 'n', '<leader><leader>co', function() require('mini.colors').interactive() end)
53-- }}} 45-- }}}
54-- mini.base16 {{{ 46-- mini.base16 {{{
55require('mini.base16').setup({ 47require('mini.base16').setup({
@@ -75,7 +67,7 @@ require('mini.base16').setup({
75 -- Integers, Boolean, Constants, XML Attributes, Markup Link Url 67 -- Integers, Boolean, Constants, XML Attributes, Markup Link Url
76 base09 = "#ef9062", 68 base09 = "#ef9062",
77 -- Classes, Markup Bold, Search Text Background 69 -- Classes, Markup Bold, Search Text Background
78 base0A = "#a6e22e", 70 base0A = "#efca84",
79 -- Strings, Inherited Class, Markup Code, Diff Inserted 71 -- Strings, Inherited Class, Markup Code, Diff Inserted
80 base0B = "#e5c463", 72 base0B = "#e5c463",
81 -- Support, Regular Expressions, Escape Characters, Markup Quotes 73 -- Support, Regular Expressions, Escape Characters, Markup Quotes
@@ -88,7 +80,9 @@ require('mini.base16').setup({
88 base0F = "#f9f8f5", 80 base0F = "#f9f8f5",
89 }, 81 },
90 use_cterm = true, 82 use_cterm = true,
91}) --}}} 83})
84
85--}}}
92-- mini.icons {{{ 86-- mini.icons {{{
93require('mini.icons').setup({ 87require('mini.icons').setup({
94}) --}}} 88}) --}}}
@@ -98,7 +92,7 @@ require('mini.tabline').setup {}
98 92
99for i = 1, 9, 1 do 93for i = 1, 9, 1 do
100 vim.keymap.set("n", string.format("<A-%s>", i), function() 94 vim.keymap.set("n", string.format("<A-%s>", i), function()
101 vim.api.nvim_set_current_buf( vim.fn.getbufinfo({ buflisted=true })[i].bufnr) 95 vim.api.nvim_set_current_buf(vim.fn.getbufinfo({ buflisted=true })[i].bufnr)
102 end, {silent = true}) 96 end, {silent = true})
103end 97end
104 98
@@ -147,51 +141,6 @@ function status_config()
147end 141end
148 142
149-- }}} 143-- }}}
150-- Disabled: mini.clue {{{
151-- local miniclue = require('mini.clue')
152-- miniclue.setup({
153-- triggers = {
154-- -- Leader triggers
155-- { mode = 'n', keys = '<Leader>' },
156-- { mode = 'x', keys = '<Leader>' },
157--
158-- -- Built-in completion
159-- { mode = 'i', keys = '<C-x>' },
160--
161-- -- `g` key
162-- { mode = 'n', keys = 'g' },
163-- { mode = 'x', keys = 'g' },
164--
165-- -- Marks
166-- { mode = 'n', keys = "'" },
167-- { mode = 'n', keys = '`' },
168-- { mode = 'x', keys = "'" },
169-- { mode = 'x', keys = '`' },
170--
171-- -- Registers
172-- { mode = 'n', keys = '"' },
173-- { mode = 'x', keys = '"' },
174-- { mode = 'i', keys = '<C-r>' },
175-- { mode = 'c', keys = '<C-r>' },
176--
177-- -- Window commands
178-- { mode = 'n', keys = '<C-w>' },
179--
180-- -- `z` key
181-- { mode = 'n', keys = 'z' },
182-- { mode = 'x', keys = 'z' },
183-- },
184--
185-- clues = {
186-- -- Enhance this by adding descriptions for <Leader> mapping groups
187-- miniclue.gen_clues.builtin_completion(),
188-- miniclue.gen_clues.g(),
189-- miniclue.gen_clues.marks(),
190-- miniclue.gen_clues.registers(),
191-- miniclue.gen_clues.windows(),
192-- miniclue.gen_clues.z(),
193-- },
194-- }}}
195-- mini.comment {{{ 144-- mini.comment {{{
196require('mini.comment').setup({ 145require('mini.comment').setup({
197 -- Module mappings. Use `''` (empty string) to disable one. 146 -- Module mappings. Use `''` (empty string) to disable one.
@@ -232,7 +181,7 @@ require('mini.diff').setup({
232-- }}} 181-- }}}
233-- mini.map {{{ 182-- mini.map {{{
234require('mini.map').setup() 183require('mini.map').setup()
235vim.keymap.set( 'n', '<leader><leader>mp', function() require('mini.map').toggle() end, { buffer = bufnr, desc = '' }) 184vim.keymap.set( 'n', '\\m', function() require('mini.map').toggle() end, { buffer = bufnr, desc = '' })
236-- }}} 185-- }}}
237-- mini.visits {{{ 186-- mini.visits {{{
238require('mini.visits').setup() 187require('mini.visits').setup()
@@ -261,10 +210,8 @@ require('mini.splitjoin').setup()
261-- mini.move {{{ 210-- mini.move {{{
262require('mini.move').setup() 211require('mini.move').setup()
263-- }}} 212-- }}}
264-- mini.pairs {{{
265require('mini.pairs').setup()
266-- }}}
267-- mini.hipatterns {{{ 213-- mini.hipatterns {{{
214
268local hipatterns = require('mini.hipatterns') 215local hipatterns = require('mini.hipatterns')
269hipatterns.setup({ 216hipatterns.setup({
270 highlighters = { 217 highlighters = {
@@ -278,11 +225,64 @@ hipatterns.setup({
278 hex_color = hipatterns.gen_highlighter.hex_color(), 225 hex_color = hipatterns.gen_highlighter.hex_color(),
279 }, 226 },
280}) 227})
281vim.keymap.set( 'n', '<leader><leader>hi', function() 228vim.keymap.set( 'n', '<leader><leader>hi', function()MiniHipatterns.toggle() end, { buffer = bufnr, desc = 'Toggle hex color highlight' })
282 MiniHipatterns.toggle() 229
283 end, 230-- }}}
284 { buffer = bufnr, desc = 'Toggle hex color highlight' } 231-- mini.pairs {{{
285) 232require('mini.pairs').setup()
233-- }}}
234-- -- mini.clue {{{
235-- local miniclue = require('mini.clue')
236-- miniclue.setup({
237-- triggers = {
238-- -- Leader triggers
239-- { mode = 'n', keys = '<Leader>' },
240-- { mode = 'x', keys = '<Leader>' },
241--
242-- -- Built-in completion
243-- { mode = 'i', keys = '<C-x>' },
244--
245-- -- `g` key
246-- { mode = 'n', keys = 'g' },
247-- { mode = 'x', keys = 'g' },
248--
249-- -- Marks
250-- { mode = 'n', keys = "'" },
251-- { mode = 'n', keys = '`' },
252-- { mode = 'x', keys = "'" },
253-- { mode = 'x', keys = '`' },
254--
255-- -- Registers
256-- { mode = 'n', keys = '"' },
257-- { mode = 'x', keys = '"' },
258-- { mode = 'i', keys = '<C-r>' },
259-- { mode = 'c', keys = '<C-r>' },
260--
261-- -- Window commands
262-- { mode = 'n', keys = '<C-w>' },
263--
264-- -- `z` key
265-- { mode = 'n', keys = 'z' },
266-- { mode = 'x', keys = 'z' },
267-- },
268--
269-- clues = {
270-- -- Enhance this by adding descriptions for <Leader> mapping groups
271-- miniclue.gen_clues.builtin_completion(),
272-- miniclue.gen_clues.g(),
273-- miniclue.gen_clues.marks(),
274-- miniclue.gen_clues.registers(),
275-- miniclue.gen_clues.windows(),
276-- miniclue.gen_clues.z(),
277-- },
278-- -- }}}
279-- -- mini.bufremote {{{
280add('echasnovski/mini.bufremove')
281vim.g.bufremove_disable = true
282--}}}
283-- -- mini.animate --{{{
284add('echasnovski/mini.animate')
285vim.g.animate_disable = true
286-- }}} 286-- }}}
287-- Telescope {{{ 287-- Telescope {{{
288add({ 288add({
@@ -292,81 +292,85 @@ add({
292 }, 292 },
293 hooks = { post_checkout = function() end }, 293 hooks = { post_checkout = function() end },
294}) 294})
295-- add({
296-- source = 'nvim-telescope/telescope-fzf-native.nvim',
297-- hooks = { post_checkout = function()
298-- vim.fn.system('make')
299-- end },
300-- })
301-- config {{{ 295-- config {{{
302require('telescope').setup({ 296require('telescope').setup({
303 defaults = {-- {{{ 297 defaults = {
304 mappings = { 298 mappings = {
305 i = { 299 i = {
306 -- ["<c-j>"] = "move_selection_next", 300 -- ["<c-j>"] = "move_selection_next",
307 -- ["<c-k>"] = "move_selection_previous", 301 -- ["<c-k>"] = "move_selection_previous",
308 ["<C-o>"] = require("telescope.actions.layout").toggle_preview, 302 ["<C-o>"] = require("telescope.actions.layout").toggle_preview,
309 ["<C-u>"] = false, 303 ["<C-u>"] = false,
310 ["<C-q>"] = function(p_bufnr) 304 ["<C-q>"] = function(p_bufnr)
311 require("telescope.actions").send_selected_to_qflist(p_bufnr) 305 require("telescope.actions").send_selected_to_qflist(p_bufnr)
312 vim.cmd.cfdo("edit") 306 vim.cmd.cfdo("edit")
313 end, 307 end,
308 },
314 }, 309 },
315 }, 310 layout_config = {
316 layout_config = { 311 horizontal = {
317 horizontal = { 312 prompt_position = "bottom",
318 prompt_position = "bottom", 313 },
314 vertical = { height = 0.8 },
315 -- other layout configuration here
316 preview_cutoff = 0,
319 }, 317 },
320 vertical = { height = 0.8 }, 318 file_ignore_patterns = {
321 -- other layout configuration here 319 "node_modules"
322 preview_cutoff = 0,
323 },
324 file_ignore_patterns = {
325 "node_modules"
326 },
327},-- }}}
328pickers = {-- {{{
329buffers = {
330 show_all_buffers = true,
331 sort_lastused = true,
332 theme = "dropdown",
333 previewer = false,
334 mappings = {
335 i = {
336 ["<c-d>"] = "delete_buffer",
337 }, 320 },
338 n = {
339 ["<c-d>"] = "delete_buffer",
340 }
341 }, 321 },
342}, 322 pickers = {
343},-- }}} 323 buffers = {
344extensions = { 324 show_all_buffers = true,
345 fzf = { 325 sort_lastused = true,
346 fuzzy = true, -- false will only do exact matching 326 theme = "dropdown",
347 override_generic_sorter = true, -- override the generic sorter 327 previewer = false,
348 override_file_sorter = true, -- override the file sorter 328 mappings = {
349 case_mode = "smart_case", -- or "ignore_case" or "respect_case" 329 i = {
350 -- the default case_mode is "smart_case" 330 ["<c-d>"] = "delete_buffer",
331 },
332 n = {
333 ["<c-d>"] = "delete_buffer",
334 }
335 },
336 },
351 }, 337 },
352 aerial = { 338 extensions = {
353 -- Display symbols as <root>.<parent>.<symbol> 339 fzf = {
354 show_nesting = { 340 fuzzy = true, -- false will only do exact matching
355 ["_"] = false, -- This key will be the default 341 override_generic_sorter = true, -- override the generic sorter
356 json = true, -- You can set the option for specific filetypes 342 override_file_sorter = true, -- override the file sorter
357 yaml = true, 343 case_mode = "smart_case", -- or "ignore_case" or "respect_case"
344 -- the default case_mode is "smart_case"
345 },
346 aerial = {
347 -- Display symbols as <root>.<parent>.<symbol>
348 show_nesting = {
349 ["_"] = false, -- This key will be the default
350 json = true, -- You can set the option for specific filetypes
351 yaml = true,
352 },
358 }, 353 },
359 }, 354 },
360},
361}) 355})
362-- }}} 356-- }}}
363-- require("telescope").load_extension("fzf") 357-- extensions {{{
358add({
359 source = 'nvim-telescope/telescope-fzf-native.nvim',
360 hooks = {
361 post_install = function(config)
362 vim.cmd("make -C " .. config.path)
363 end
364 },
365})
366require("telescope").load_extension("fzf")
364-- require("telescope").load_extension("aerial") 367-- require("telescope").load_extension("aerial")
368-- }}}
365 369
366-- Keymaps {{{ 370-- Keymaps {{{
367vim.keymap.set("n", "<leader>f", "<cmd>Telescope oldfiles<CR>", { desc = "telescope find oldfiles" }) 371vim.keymap.set("n", "<leader>f", "<cmd>Telescope oldfiles<CR>", { desc = "telescope find oldfiles" })
368vim.keymap.set("n", "<leader>b", "<cmd>Telescope buffers<CR>", { desc = "telescope find buffers" }) 372vim.keymap.set("n", "<leader>b", "<cmd>Telescope buffers<CR>", { desc = "telescope find buffers" })
369vim.keymap.set("n", "//", "<cmd>Telescope current_buffer_fuzzy_find<CR>", { desc = "telescope find in current buffer" }) 373vim.keymap.set("n", "<leader>/", "<cmd>Telescope current_buffer_fuzzy_find<CR>", { desc = "telescope find in current buffer" })
370vim.keymap.set("n", "<leader>sf", "<cmd>Telescope find_files<cr>", { desc = "telescope find files" }) 374vim.keymap.set("n", "<leader>sf", "<cmd>Telescope find_files<cr>", { desc = "telescope find files" })
371vim.keymap.set( 375vim.keymap.set(
372"n", 376"n",
@@ -457,12 +461,12 @@ end, { desc = "Search Directory" })-- }}}
457-- toggleterm {{{ 461-- toggleterm {{{
458 462
459add({ 463add({
460source = "akinsho/toggleterm.nvim", 464 source = "akinsho/toggleterm.nvim",
461hooks = { post_checkout = function() end }, 465 hooks = { post_checkout = function() end },
462}) 466})
463require("toggleterm").setup{ 467require("toggleterm").setup{
464persist_size = false, 468 persist_size = false,
465direction = 'float', 469 direction = 'float',
466} 470}
467 471
468vim.keymap.set({ "n", "t" }, "<A-i>", function() vim.cmd("ToggleTerm direction=float") end, { desc = "terminal toggle floating term" }) 472vim.keymap.set({ "n", "t" }, "<A-i>", function() vim.cmd("ToggleTerm direction=float") end, { desc = "terminal toggle floating term" })
@@ -476,6 +480,7 @@ add({
476 depends = { "rbgrouleff/bclose.vim" }, 480 depends = { "rbgrouleff/bclose.vim" },
477 hooks = { post_checkout = function() end }, 481 hooks = { post_checkout = function() end },
478}) 482})
483vim.cmd('nunmap <leader>bd')
479 484
480--}}} 485--}}}
481-- Disabled: suda {{{ 486-- Disabled: suda {{{
@@ -515,3 +520,97 @@ add {
515} 520}
516vim.keymap.set("n", "<leader>z", ":TZAtaraxis<CR>") 521vim.keymap.set("n", "<leader>z", ":TZAtaraxis<CR>")
517-- }}} 522-- }}}
523-- nvim-tree {{{
524add {
525 source = "nvim-tree/nvim-tree.lua",
526}
527-- config {{{
528require("nvim-tree").setup {
529 filters = {
530 dotfiles = false,
531 },
532 disable_netrw = true,
533 hijack_netrw = true,
534 hijack_cursor = true,
535 hijack_unnamed_buffer_when_opening = false,
536 sync_root_with_cwd = true,
537 update_focused_file = {
538 enable = true,
539 update_root = false,
540 },
541 view = {
542 adaptive_size = false,
543 side = "left",
544 width = 30,
545 preserve_window_proportions = true,
546 },
547 git = {
548 enable = true,
549 ignore = true,
550 },
551 filesystem_watchers = {
552 enable = true,
553 },
554 actions = {
555 open_file = {
556 resize_window = true,
557 },
558 },
559 renderer = {
560 root_folder_label = false,
561 highlight_git = true,
562 highlight_opened_files = "none",
563
564 indent_markers = {
565 enable = true,
566 },
567
568 icons = {
569 show = {
570 file = true,
571 folder = true,
572 folder_arrow = true,
573 git = true,
574 },
575
576 glyphs = {
577 default = "󰈚",
578 symlink = "",
579 folder = {
580 default = "",
581 empty = "",
582 empty_open = "",
583 open = "",
584 symlink = "",
585 symlink_open = "",
586 arrow_open = "",
587 arrow_closed = "",
588 },
589 git = {
590 unstaged = "✗",
591 staged = "✓",
592 unmerged = "",
593 renamed = "➜",
594 untracked = "★",
595 deleted = "",
596 ignored = "◌",
597 },
598 },
599 },
600 },
601}
602-- }}}
603vim.keymap.set(
604 "n",
605 "<C-n>",
606 "<cmd>NvimTreeToggle<CR>",
607 { desc = "nvimtree toggle window" }
608)
609vim.keymap.set(
610 "n",
611 "<leader>e",
612 "<cmd>NvimTreeFocus<CR>",
613 { desc = "nvimtree focus window" }
614)
615
616-- }}}