aboutsummaryrefslogtreecommitdiffhomepage
path: root/vim/init
diff options
context:
space:
mode:
Diffstat (limited to 'vim/init')
-rw-r--r--vim/init/basic.vim6
-rw-r--r--vim/init/config.vim38
-rw-r--r--vim/init/keymaps.vim3
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
86set lazyredraw 86set lazyredraw
87set whichwrap=b,s 87set whichwrap=b,s
88 88
89" linebreak, ref: https://stackoverflow.com/questions/1204149/smart-wrap-in-vim
90set breakindent
91" ident by an additional 2 characters on wrapped lines, when line >= 40 characters, put 'showbreak' at start of line
92set breakindentopt=shift:4,min:40,sbr
93set showbreak=>>
94
89" Tab 95" Tab
90set showtabline=2 96set 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
280augroup END 311augroup END
281 312
282" }}} 313let g:ale_lint_on_save = 1
314let 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
476function! ToggleQuit() 476function! 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
480endfunction 481endfunction
481nnoremap \q :call ToggleQuit()<CR> 482nnoremap \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)