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 79ed3fd..6553a6c 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) |