" default mapping let g:NERDCreateDefaultMappings = 1 " Add spaces after comment delimiters by default let g:NERDSpaceDelims = 1 " remove extra spaces after removal of a comment let g:NERDRemoveExtraSpaces = 1 " Use compact syntax for prettified multi-line comments let g:NERDCompactSexyComs = 1 " Align line-wise comment delimiters flush left instead of following code indentation let g:NERDDefaultAlign = 'left' " Add your own custom formats or override the defaults let g:NERDCustomDelimiters = { \ 'c': { 'left': '/**','right': '*/' }, \ } " Allow commenting and inverting empty lines (useful when commenting a region) let g:NERDCommentEmptyLines = 1 " Enable trimming of trailing whitespace when uncommenting let g:NERDTrimTrailingWhitespace = 1 " comment whole line on visual mode let g:NERDCommentWholeLinesInVMode = 0 " look for alternative as well let g:NERDRemoveAltComs = 1 " comment again if a comment already there let g:NERDDefaultNesting = 1 " decide if to do one liner or multiline let g:NERDToggleCheckAllLines = 1 let g:ft = '' function! NERDCommenter_before() if &ft == 'vue' let g:ft = 'vue' let stack = synstack(line('.'), col('.')) if len(stack) > 0 let syn = synIDattr((stack)[0], 'name') if len(syn) > 0 exe 'setf ' . substitute(tolower(syn), '^vue_', '', '') endif endif endif endfunction function! NERDCommenter_after() if g:ft == 'vue' setf vue let g:ft = '' endif endfunction