This extension allows you to use jsbeautifier inside vim to quickly format javascript, html and css files. Version 1.0 also supports the editorconfig file.
Any comments, corrections and suggestions are welcome.
Download zip file or clone project. Then copy plugin
folder from the plugin's directory to your ~/.vim
folder.
unzip vim-jsbeautify-master.zip cd vim-jsbeautify-master cp -r plugin ~/.vim/
Then download the zip file for js-beautify and place its contents in ~/.vim/plugin/lib/
, ie:
wget https://github.com/beautify-web/js-beautify/archive/v1.8.9.zip && unzip v1.8.9.zip && cp -rf js-beautify-1.8.9/ ~/.vim/plugin/lib/Installing using pathogen
cd ~/.vim/bundle git clone https://github.com/maksimr/vim-jsbeautify.git cd vim-jsbeautify && git submodule update --init --recursive
.vimrc
:Plugin 'maksimr/vim-jsbeautify'
PluginInstall()
inside vim:cd ~/.vim/bundle/vim-jsbeautify && git submodule update --init --recursive
In version 1.0, all configuration is done through the .editorconfig
file. This file can be located either in the user home directory ~/.editorconfig
, or in inside the vim configuration directory ~/.vim/.editorconfig
.
To assign a custom path for the .editorconfig
file set the variable g:editorconfig_Beautifier
.
Settings are taken from sections [**.js]
, [**.json]
, [**.jsx]
, [**.html]
, and [**.css]
. Within these sections can use a special comment ; vim:
, but this comment can be used only for the global settings.
You can also configure a variable g: config_Beautifier
(g:config_Beautifier has type dict), but it is better to use the .editorconfig
file.
A simple example of the .editorconfig
file:
;.editorconfig root = true [**.js] indent_style = space indent_size = 4 [**.json] indent_style = space indent_size = 4 [**.jsx] e4x = true indent_style = space indent_size = 4 [**.css] indent_style = space indent_size = 4 [**.html] indent_style = space indent_size = 4 max_char = 78 brace_style = expand
The .editorconfig
file uses special comments (;vim:
) and special properties for the jsbeautify plugin like path
, bin
;.editorconfig root = true [**.js] ; path to optional external js beautifier, default is vim-jsbeautify/plugin/lib 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>
JsBeautify function takes two parameters: the starting line number and the ending line number. By default these parameters are set to 0
and $
.
If you want to beautify only selected lines you should use functions RangeJsBeautify, RangeJsonBeautify, RangeJsxBeautify, RangeHtmlBeautify, or RangeCSSBeautify.
Example of binding a function for js, html and css in visual mode on
".vimrc autocmd FileType javascript vnoremap <buffer> <c-f> :call RangeJsBeautify()<cr> autocmd FileType json vnoremap <buffer> <c-f> :call RangeJsonBeautify()<cr> autocmd FileType jsx vnoremap <buffer> <c-f> :call RangeJsxBeautify()<cr> autocmd FileType html vnoremap <buffer> <c-f> :call RangeHtmlBeautify()<cr> autocmd FileType css vnoremap <buffer> <c-f> :call RangeCSSBeautify()<cr>
npm install
bundle install
npm test
Thanks for assistance:
v1.1.3
v1.1.2
v1.1.1
Licensed MIT Copyright (c) 2018 Maksim Ryzhikov;
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4