Install aonemd/fmt.vim
using a plugin manger such as:
vim-plug,
NeoBundle,
Vundle, or
Pathogen.
The plugin provides the command: Fmt
that delegates the auto-formatting to a
formatter. Currently, these formatters are used:
Language | Formatter | Command used |
---|---|---|
Rust | rustfmt | rustfmt |
Go | gofmt | gofmt -w |
C | clang-format | clang-format -i -style=google |
C++ | clang-format | clang-format -i -style=google |
JavaScript | prettier | prettier --write |
TypeScript | prettier | prettier --write |
Ruby | rufo | rufo |
User-defined commands can be used through the global variable g:fmt_commands
which overwrites the default commands above. g:fmt_commands
example:
let g:fmt_commands = {
\ 'rust': 'rustfmt',
\ 'go': 'gofmt -w',
\ 'c': 'clang-format -i -style=google',
\ 'cpp': 'clang-format -i -style=google',
\ 'javascript': 'prettier --write',
\ 'typescript': 'prettier --write',
\ 'ruby': 'rufo',
\ }
In order to use auto-formatting on buffer saving, you can add the following to
~/.vimrc
:
autocmd! BufWrite * Fmt
See LICENSE.