Reputation: 93448
Does an auto-formatting tool exist for vi that'll allow me to define per language preferences?
edit: I'm not looking for syntax highlighting. I'm looking for something that will apply formatting rules to my code. (Like brace positioning, spaces around oeprators, etc)
Upvotes: 7
Views: 2956
Reputation: 16214
There is a vim plugin that enables formatting on your code from within vim. It's called vim-autoformat and you can dowload it here:
https://github.com/vim-autoformat/vim-autoformat
It integrates external code-formatting programs into vim. For example, if you want to format C, C++, C# or Java code, you can install the program astyle, and vim sets it as the format program automatically.
Upvotes: 2
Reputation: 37157
As Darrin says, "flee from the vi wasteland" and embrace the one true vim path instead! Your desired language preferences, assuming that they're not for SNOBOL or Simula, will thank you!
Edit: Actually extending the syntax highlighting to cover SNOBOL or Simula would not be that hard! (-:
Upvotes: 1
Reputation: 229914
You can add a file in ~/.vim/ftplugin/
for each file type. For example, set ~/.vim/ftplugin/c.vim
to
set tabstop=2 shiftwidth=2
This sets your indentation for C files to two spaces.
Upvotes: 3
Reputation: 1254
You can use vim. If you're on GNU/Linux, take a look at /etc/vim/vimrc for global defaults. Some things you may want are "syntax on" "filetype indent on" and "set showmatch".
Upvotes: 2
Reputation: 994817
Vim has tons of support for filetype-specific customisations. You might find what you are looking for in there.
Upvotes: 4
Reputation: 24938
Well, there's Vim which comes with a lot of languages covered already and which is easy to customize per language.
Upvotes: 8