readme updated
This commit is contained in:
parent
005835befe
commit
75b2f7d3a9
@ -2,7 +2,9 @@ vim-autoformat
|
|||||||
==============
|
==============
|
||||||
Format your code with only one button press!
|
Format your code with only one button press!
|
||||||
This plugin makes use of external formatprograms to achieve the best result.
|
This plugin makes use of external formatprograms to achieve the best result.
|
||||||
Check the list of formatprograms to see which languages are currently supported.
|
You can specify how to use which formatprograms for which filetypes.
|
||||||
|
A set of reasonable defaults are given, so you should be able to use it right away.
|
||||||
|
Check the list of formatprograms to see which languages are supported by default.
|
||||||
|
|
||||||
How to install (Vundle)
|
How to install (Vundle)
|
||||||
-----------------------
|
-----------------------
|
||||||
@ -15,24 +17,25 @@ Bundle "Chiel92/vim-autoformat"
|
|||||||
How to use
|
How to use
|
||||||
----------
|
----------
|
||||||
First you have to install an external program that can format code of the programming language you are using.
|
First you have to install an external program that can format code of the programming language you are using.
|
||||||
It suffices to make the formatprogram either globally available
|
For the default supported formatprograms, it suffices to make the formatprogram either globally available
|
||||||
(which is the case if you installed it via your package manager)
|
(which is the case if you install it via your package manager)
|
||||||
or to put it in the `formatters/` folder.
|
or to put it in the `formatters/` folder.
|
||||||
Sometimes alternative installation methods are supported.
|
Sometimes alternative installation methods are supported.
|
||||||
|
|
||||||
When you have installed the formatters you need, you can format the buffer with the command `:Autoformat`.
|
When you have installed the formatters you need, you can format the entire buffer with the command `:Autoformat`.
|
||||||
For convenience it is recommended that you assign a key for this, like so:
|
For convenience it is recommended that you assign a key for this, like so:
|
||||||
|
|
||||||
```vim
|
```vim
|
||||||
noremap <F7> :Autoformat<CR><CR>
|
noremap <F7> :Autoformat<CR><CR>
|
||||||
```
|
```
|
||||||
|
|
||||||
If you don't want to format the whole vimbuffer, you can alternatively format visually selected code with `gq`.
|
If you don't want to format the entire buffer, you can alternatively format visually selected code with `gq`.
|
||||||
|
However, some formatprograms will behave a bit weird then, because they need the context of a piece of code.
|
||||||
For more ways to perform autoformatting type `:help gq`.
|
For more ways to perform autoformatting type `:help gq`.
|
||||||
|
|
||||||
Supported formatprograms
|
Default formatprograms
|
||||||
------------------------
|
------------------------
|
||||||
With most of the distro's, if you installed a formatprogram, it's automatically globally available.
|
For most linux distro's, if you installed a formatprogram, it's automatically globally available.
|
||||||
If this is not the case, you can either make it globally available manually, or put it's binary in the `formatters/` directory.
|
If this is not the case, you can either make it globally available manually, or put it's binary in the `formatters/` directory.
|
||||||
Sometimes alternative installation methods are presented.
|
Sometimes alternative installation methods are presented.
|
||||||
Here is a list of formatprograms that are currently supported.
|
Here is a list of formatprograms that are currently supported.
|
||||||
@ -63,21 +66,38 @@ I recommend putting the phpCB binary in the `formatters/` directory.
|
|||||||
It's probably in your distro's repository, so you can download it as a regular package.
|
It's probably in your distro's repository, so you can download it as a regular package.
|
||||||
For Ubuntu type `sudo apt-get install tidy` in a terminal.
|
For Ubuntu type `sudo apt-get install tidy` in a terminal.
|
||||||
|
|
||||||
If you find yourself in need of support for another formatprogram, simply add a configuration file in the folder `vim-autoformat/ftplugin/`.
|
|
||||||
You can take the existing ones as an example.
|
|
||||||
Be sure to send me a patch. :)
|
|
||||||
|
|
||||||
How can I change the behaviour of formatters?
|
How can I change the behaviour of formatters?
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
Every formatter is called from a script in the `vim-autoformat/ftplugin/` directory.
|
The formatprg for a filetype is defined in the global `g:formatprg_<filetype>`.
|
||||||
E.g. the file that calls the C# formatter is named `vim-autoformat/ftplugin/cs.vim`.
|
The arguments given to the formatprogram are defined in `g:formatprg_args_<filetype>`.
|
||||||
You can change the arguments passed to the formatter in that file.
|
So for example, if you want to set the arguments passed to `astyle` for formatting a C# file, you would put a line like this in your .vimrc:
|
||||||
|
|
||||||
|
```vim
|
||||||
|
let g:formatprg_args_cs = "--mode=cs --style=java -H"
|
||||||
|
```
|
||||||
|
|
||||||
|
How can I define a formatprogram myself?
|
||||||
|
---------------------------------
|
||||||
|
A definition looks like this:
|
||||||
|
|
||||||
|
```vim
|
||||||
|
let g:formatprg_cs = "astyle"
|
||||||
|
let g:formatprg_args_cs = "--mode=cs --style=ansi -p -c -H"
|
||||||
|
```
|
||||||
|
|
||||||
|
If you change the tabwidth for a formatprogram, I would suggest to change the indent options of vim correspondingly for that filetype:
|
||||||
|
|
||||||
|
```vim
|
||||||
|
au filetype *.cs set tabstop=4
|
||||||
|
au filetype *.cs set softtabstop=4
|
||||||
|
au filetype *.cs set shiftwidth=4
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
Todo list
|
Todo list
|
||||||
---------
|
---------
|
||||||
* Check for windows support.
|
* Check for windows support.
|
||||||
* Option for on-the-fly code-formatting (like visual studio)
|
* Option for on-the-fly code-formatting (like visual studio)
|
||||||
* Better support for customizing formatter behaviour
|
|
||||||
|
|
||||||
|
|
||||||
If you have any suggestions on this plugin or on this readme or if you experience problems, please contact me by creating an issue in this repository.
|
If you have any suggestions on this plugin or on this readme or if you experience problems, please contact me by creating an issue in this repository.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user