diff options
Diffstat (limited to 'vim')
-rw-r--r-- | vim/init/basic.vim | 6 | ||||
-rw-r--r-- | vim/init/config.vim | 38 | ||||
-rw-r--r-- | vim/init/keymaps.vim | 3 | ||||
-rw-r--r-- | vim/mini.lua | 67 | ||||
-rw-r--r-- | vim/spell/en.utf-8.add | 16 | ||||
-rw-r--r-- | vim/spell/en.utf-8.add.spl | bin | 0 -> 307 bytes |
6 files changed, 102 insertions, 28 deletions
diff --git a/vim/init/basic.vim b/vim/init/basic.vim index 50a0ec9..c4c62e7 100644 --- a/vim/init/basic.vim +++ b/vim/init/basic.vim | |||
@@ -86,6 +86,12 @@ set display=lastline | |||
86 | set lazyredraw | 86 | set lazyredraw |
87 | set whichwrap=b,s | 87 | set whichwrap=b,s |
88 | 88 | ||
89 | " linebreak, ref: https://stackoverflow.com/questions/1204149/smart-wrap-in-vim | ||
90 | set breakindent | ||
91 | " ident by an additional 2 characters on wrapped lines, when line >= 40 characters, put 'showbreak' at start of line | ||
92 | set breakindentopt=shift:4,min:40,sbr | ||
93 | set showbreak=>> | ||
94 | |||
89 | " Tab | 95 | " Tab |
90 | set showtabline=2 | 96 | set showtabline=2 |
91 | 97 | ||
diff --git a/vim/init/config.vim b/vim/init/config.vim index 4676942..5c53728 100644 --- a/vim/init/config.vim +++ b/vim/init/config.vim | |||
@@ -216,6 +216,34 @@ augroup InitFileTypes | |||
216 | endfunc | 216 | endfunc |
217 | 217 | ||
218 | " }}} | 218 | " }}} |
219 | " Javascript {{{ | ||
220 | |||
221 | au FileType javascript call InitJavascriptFile() | ||
222 | function! InitJavascriptFile() | ||
223 | setlocal wrap sw=2 ts=2 | ||
224 | |||
225 | setlocal foldexpr=JsdocLevel() foldmethod=expr | ||
226 | |||
227 | let l:jsdocPrefix = "JSDOC: " | ||
228 | setlocal foldtext=JSdocFoldText() | ||
229 | endfunc | ||
230 | |||
231 | function! JsdocLevel() | ||
232 | let jsdoc = matchstr(getline(v:lnum), '^\zs\s*\/\*\*\ze') | ||
233 | if !empty(jsdoc) | ||
234 | let foldlevel = len(matchstr(jsdoc, '^\zs\s*\ze')) + 1 | ||
235 | return '>'.foldlevel | ||
236 | else | ||
237 | " Contents | ||
238 | return "=" | ||
239 | endif | ||
240 | endfunc | ||
241 | |||
242 | function! JSdocFoldText() | ||
243 | return "JSDOC: ".matchstr(getline(v:foldstart + 1), '^[\* ]*\zs.*\ze') | ||
244 | endfunc | ||
245 | |||
246 | " }}} | ||
219 | " HTML {{{ | 247 | " HTML {{{ |
220 | 248 | ||
221 | " Usage: <leader>cl(ass) or <leader>id to edit html tag attribute | 249 | " Usage: <leader>cl(ass) or <leader>id to edit html tag attribute |
@@ -235,8 +263,11 @@ augroup InitFileTypes | |||
235 | startinsert | 263 | startinsert |
236 | endif | 264 | endif |
237 | endfunc | 265 | endfunc |
238 | autocmd FileType html,markdown nnoremap <buffer> <leader>cl :call <SID>ChangeAttr("class")<CR> | 266 | autocmd FileType html,markdown,javascript nnoremap <buffer> <leader>cl :call <SID>ChangeAttr("class")<CR> |
239 | autocmd FileType html,markdown nnoremap <buffer> <leader>id :call <SID>ChangeAttr("id")<CR> | 267 | autocmd FileType html,markdown,javascript nnoremap <buffer> <leader>id :call <SID>ChangeAttr("id")<CR> |
268 | autocmd FileType css,javascript nnoremap <buffer> <F9> :let LINE=line(".")<CR>:silent! %!npx standard --stdin --fix 2>/dev/null<CR>:exe LINE<CR> | ||
269 | autocmd FileType css,javascript nmap <buffer> <F8> cdg:let LINE=line(".")<CR>:%!stylelint --fix --stdin 2>/dev/null<CR>:exe LINE<CR> | ||
270 | autocmd FileType css,javascript set formatprg=prettier | ||
240 | 271 | ||
241 | " Reload preview server | 272 | " Reload preview server |
242 | autocmd BufWrite *.html,*.js,*.css call ReloadServer() | 273 | autocmd BufWrite *.html,*.js,*.css call ReloadServer() |
@@ -279,4 +310,5 @@ augroup InitFileTypes | |||
279 | 310 | ||
280 | augroup END | 311 | augroup END |
281 | 312 | ||
282 | " }}} | 313 | let g:ale_lint_on_save = 1 |
314 | let g:ale_fix_on_save = 1 | ||
diff --git a/vim/init/keymaps.vim b/vim/init/keymaps.vim index 2d58fe9..07be9b3 100644 --- a/vim/init/keymaps.vim +++ b/vim/init/keymaps.vim | |||
@@ -476,6 +476,7 @@ let g:quitVimWhenPressingCtrlC = 1 | |||
476 | function! ToggleQuit() | 476 | function! ToggleQuit() |
477 | let g:quitVimWhenPressingCtrlC = !g:quitVimWhenPressingCtrlC | 477 | let g:quitVimWhenPressingCtrlC = !g:quitVimWhenPressingCtrlC |
478 | let message = g:quitVimWhenPressingCtrlC ? "Unlock" : "Lock" | 478 | let message = g:quitVimWhenPressingCtrlC ? "Unlock" : "Lock" |
479 | nnoremap ZZ <C-c> | ||
479 | echo message | 480 | echo message |
480 | endfunction | 481 | endfunction |
481 | nnoremap \q :call ToggleQuit()<CR> | 482 | nnoremap \q :call ToggleQuit()<CR> |
@@ -502,7 +503,7 @@ function! CloseBufferSafely() | |||
502 | tabclose | 503 | tabclose |
503 | else | 504 | else |
504 | " Switch to proper buffer | 505 | " Switch to proper buffer |
505 | let next_buf = get(t:bufs, bufnr('#')) ? bufnr('#') : filter(t:bufs, 'v:val != '..bufnr)[-1] | 506 | let next_buf = filter(t:bufs, 'v:val != '..bufnr)[-1] |
506 | exe "b "..next_buf | 507 | exe "b "..next_buf |
507 | " exe "buffer ".g:lastbuffer | 508 | " exe "buffer ".g:lastbuffer |
508 | call filter(t:bufs, 'v:val != '..bufnr) | 509 | call filter(t:bufs, 'v:val != '..bufnr) |
diff --git a/vim/mini.lua b/vim/mini.lua index 177d80a..7451258 100644 --- a/vim/mini.lua +++ b/vim/mini.lua | |||
@@ -564,11 +564,14 @@ require("lazy").setup({ | |||
564 | require("telescope").setup({ | 564 | require("telescope").setup({ |
565 | defaults = { | 565 | defaults = { |
566 | preview = { | 566 | preview = { |
567 | filesize_limit = 0.5, | ||
567 | filesize_hook = function(filepath, bufnr, opts) | 568 | filesize_hook = function(filepath, bufnr, opts) |
568 | local max_bytes = 100000 | 569 | local max_bytes = 10000 |
569 | local cmd = { "head", "-c", max_bytes, filepath } | 570 | local cmd = { "head", "-c", max_bytes, filepath } |
570 | require('telescope.previewers.utils').job_maker(cmd, bufnr, opts) | 571 | require('telescope.previewers.utils').job_maker(cmd, bufnr, opts) |
571 | end | 572 | end, |
573 | timeout = 50, | ||
574 | highlight_limit = 1, | ||
572 | }, | 575 | }, |
573 | mappings = { | 576 | mappings = { |
574 | i = { | 577 | i = { |
@@ -644,10 +647,10 @@ require("lazy").setup({ | |||
644 | "<leader>sF", | 647 | "<leader>sF", |
645 | function() | 648 | function() |
646 | require("telescope.builtin").find_files({ | 649 | require("telescope.builtin").find_files({ |
647 | follow = ture, | 650 | follow = ture, |
648 | no_ignore = true, | 651 | no_ignore = true, |
649 | hidden = true, | 652 | hidden = true, |
650 | file_ignore_patterns = {}, | 653 | file_ignore_patterns = {}, |
651 | }) | 654 | }) |
652 | end, | 655 | end, |
653 | { desc = "telescope find all files" } | 656 | { desc = "telescope find all files" } |
@@ -826,24 +829,22 @@ require("lazy").setup({ | |||
826 | lazy = false, | 829 | lazy = false, |
827 | config = function() | 830 | config = function() |
828 | require("which-key").setup({ | 831 | require("which-key").setup({ |
829 | defaults = { | 832 | win = { |
830 | win = { | 833 | -- don't allow the popup to overlap with the cursor |
831 | -- don't allow the popup to overlap with the cursor | 834 | no_overlap = false, |
832 | no_overlap = false, | 835 | -- width = 1, |
833 | -- width = 1, | 836 | height = { min = 10, max = 25 }, |
834 | height = { min = 10, max = 25 }, | 837 | -- col = 0, |
835 | -- col = 0, | 838 | -- row = math.huge, |
836 | -- row = math.huge, | 839 | -- border = "none", |
837 | -- border = "none", | 840 | padding = { 1, 2 }, -- extra window padding [top/bottom, right/left] |
838 | padding = { 1, 2 }, -- extra window padding [top/bottom, right/left] | 841 | title = false, |
839 | title = true, | 842 | title_pos = "center", |
840 | title_pos = "center", | 843 | zindex = 1000, |
841 | zindex = 1000, | 844 | -- Additional vim.wo and vim.bo options |
842 | -- Additional vim.wo and vim.bo options | 845 | bo = {}, |
843 | bo = {}, | 846 | wo = { |
844 | wo = { | 847 | -- winblend = 10, -- value between 0-100 0 for fully opaque and 100 for fully transparent |
845 | -- winblend = 10, -- value between 0-100 0 for fully opaque and 100 for fully transparent | ||
846 | }, | ||
847 | }, | 848 | }, |
848 | }, | 849 | }, |
849 | }) | 850 | }) |
@@ -1477,6 +1478,24 @@ require("lazy").setup({ | |||
1477 | -- end, | 1478 | -- end, |
1478 | -- }, | 1479 | -- }, |
1479 | -- -- }}} | 1480 | -- -- }}} |
1481 | -- ALE {{{ | ||
1482 | { | ||
1483 | 'dense-analysis/ale', | ||
1484 | config = function() | ||
1485 | -- Configuration goes here. | ||
1486 | local g = vim.g | ||
1487 | |||
1488 | g.ale_ruby_rubocop_auto_correct_all = 1 | ||
1489 | |||
1490 | g.ale_linters = { | ||
1491 | ruby = { 'javascript', 'standard' }, | ||
1492 | lua = { 'lua_language_server' } | ||
1493 | } | ||
1494 | |||
1495 | vim.keymap.set("n", "\a", vim.cmd("ALEDisable")) | ||
1496 | end | ||
1497 | }, | ||
1498 | -- }}} | ||
1480 | }) | 1499 | }) |
1481 | 1500 | ||
1482 | -- KEYMAPS {{{ | 1501 | -- KEYMAPS {{{ |
diff --git a/vim/spell/en.utf-8.add b/vim/spell/en.utf-8.add new file mode 100644 index 0000000..d4297c4 --- /dev/null +++ b/vim/spell/en.utf-8.add | |||
@@ -0,0 +1,16 @@ | |||
1 | #eoLink/! | ||
2 | GeoLink/! | ||
3 | GeoLink | ||
4 | GeoLink | ||
5 | geo | ||
6 | dumbymap | ||
7 | Dumbymap | ||
8 | mapclay | ||
9 | EasyMDE | ||
10 | js | ||
11 | CDN | ||
12 | unpkg | ||
13 | mjs | ||
14 | DocLink | ||
15 | StoryMapJS | ||
16 | afterMapRendered | ||
diff --git a/vim/spell/en.utf-8.add.spl b/vim/spell/en.utf-8.add.spl new file mode 100644 index 0000000..a9f1927 --- /dev/null +++ b/vim/spell/en.utf-8.add.spl | |||
Binary files differ | |||