개발

[vim] 좋은 빔 플러그인(vim-jsbeautify) 발견!!!!!!

팥빙구 2016. 1. 8. 15:41

파일의 들여쓰기를 자동 수정해주는 플러그인을 발견했당

들여쓰기가 엉망으로 되어있는 몇천 라인짜리 파일의 인덴테이션을 수작업으로 고치는 일은 불가능에 가깝다고 생각하는데..


아무래도 들여쓰기 폭이 너무 좁거나/넓거나 정해놓은 코드 컨벤션에 맞지 않는 파일은

코드의 가독성을 위해서라도 한번 이쁘게 다듬어놔주면 좋다


그래서 찾아낸 플러그인이 vim-jsbeautify이다.


Github: https://github.com/maksimr/vim-jsbeautify


pathogen을 통한 설치를 권장한다. (왜냐면 젤 쉬움)


Installation


  cd ~/.vim/bundle
  git clone https://github.com/maksimr/vim-jsbeautify.git
  cd vim-jsbeautify && git submodule update --init --recursive

Setting

; .vim/.editorconfig root = true [**.js] ; Path to the external file format ; The default is taken from the lib folder inside the folder extension. path=~/.vim/bundle/js-beautify/js/lib/beautify.js ; Javascript interpreter to be invoked by default 'node' bin=node indent_style = space indent_size = 4 [**.css] path=~/.vim/bundle/js-beautify/js/lib/beautify-css.js indent_style = space indent_size = 4 [**.html] ; Using special comments ; And such comments or apply only in global configuration ; So it's best to avoid them ;vim:path=~/.vim/bundle/js-beautify/js/lib/beautify-html.js ;vim:max_char=78:brace_style=expand indent_style = space indent_size = 4


 ".vimrc

  map <c-f> :call JsBeautify()<cr>
  " or
  autocmd FileType javascript noremap <buffer>  <c-f> :call JsBeautify()<cr>
  " for json 
  autocmd FileType json noremap <buffer> <c-f> :call JsonBeautify()<cr>
  " for jsx 
  autocmd FileType jsx noremap <buffer> <c-f> :call JsxBeautify()<cr>
  " for html
  autocmd FileType html noremap <buffer> <c-f> :call HtmlBeautify()<cr>
  " for css or scss
  autocmd FileType css noremap <buffer> <c-f> :call CSSBeautify()<cr>


Beautify function은 파라미터 두개를 받는다. (starting_line, end_line)


이제 끝!


고치고 싶은 자바스크립트 파일에 가서 ctrl-f 를 누르고 아주 살짝 ~ 몇ㅊ초만 기다리면 깨끗하게 들여쓰기가 정리된 파일을 만나볼 수 있당