diff options
Diffstat (limited to 'vim/init')
-rw-r--r-- | vim/init/basic.vim | 6 | ||||
-rw-r--r-- | vim/init/config.vim | 38 | ||||
-rw-r--r-- | vim/init/keymaps.vim | 3 |
3 files changed, 43 insertions, 4 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) |