Allain Lalonde
Allain Lalonde

Reputation: 93448

Auto formatting for vi?

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

Answers (6)

chtenb
chtenb

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

Rob Wells
Rob Wells

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

sth
sth

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

MighMoS
MighMoS

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

Greg Hewgill
Greg Hewgill

Reputation: 994817

Vim has tons of support for filetype-specific customisations. You might find what you are looking for in there.

Upvotes: 4

dwc
dwc

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

Related Questions