Easily adds brief author info and license headers
Preferred installation method is Pathogen
cd ~/.vim/bundle
git clone https://github.com/alpertuna/vim-header
Or you can use your own way
This is a general usage example.
You can add these lines into your .vimrc
let g:header_field_author = 'Your Name'
let g:header_field_author_email = 'your@mail'
map <F4> :AddHeader<CR>
Pressing F4
in normal mode will add a brief author information at the top of
your buffer.
For example, when you open a file named start.sh
and press F4
after above
settings, plugin will add these lines at the top of your buffer
#!/bin/bash
# File: start.sh
# Author: Your Name <your@mail>
# Date: 13.03.2016
# Last Modified Date: 13.03.2016
# Last Modified By: Your Name <your@mail>
or for a file named index.php
<?php
/*
* File: index.php
* @author: Your Name <your@mail>
* Date: 13.03.2016
* Last Modified Date: 13.03.2016
* Last Modified By: Your Name <your@mail>
*/
Adding Headers
:AddHeader
Adds brief author information or updates if exists:AddMinHeader
Adds minified version of author information
Adding Licenses
:AddMITLicense
Adds MIT License:AddApacheLicense
Adds Apache License:AddGNULicense
Adds GNU License
These settings are for your $MYVIMRC
(vim: .vimrc
, neovim:
.config/nvim/init.vim
)
Settings related to headers:
Settings related to headers' fields:
g:header_field_filename
g:header_field_author
g:header_field_author_email
g:header_field_timestamp
g:header_field_modified_timestamp
g:header_field_modified_by
g:header_field_timestamp_format
Settings related to supported filetypes:
let g:header_auto_add_header = 0
Toggles automatic headers' addition. 1 by default.
let g:header_alignment = 1
Aligns headers' values. 0 by default.
let g:header_max_size = 20
Sets the range from which vim-header will search for required headers (ones sets in global options) to determinate if it should update existing headers or add new ones.
This options is used to prevent text replacement if your file contains text
matching headers (for instance File:
). See
#20
for more explanations. 7 by default.
let g:header_field_filename = 0
Toggles File:
header field. 1 by default.
let g:header_field_author = 'Your Name'
Sets defined value for Author:
and Last Modified By:
fields. Empty string
disables it. '' by default.
let g:header_field_author_email = 'your@mail'
Adds defined value surrounded by <
, >
after author name in Author:
and
Last Modified By:
fields. g:header_field_author
must be set and not be empty
in order to add email to its value. Empty string disables adding email value.
'' by default.
let g:header_field_timestamp = 0
Toggles Date:
header field. 1 by default.
let g:header_field_modified_timestamp = 0
Toggles Last Modified Date:
header field. 1 by default.
let g:header_field_modified_by = 0
Toggles Last Modified By:
header field. This header value relies on
g:header_field_author
value. In order to shows up g:header_field_author
must be set and not be empty. 1 by default.
let g:header_field_timestamp_format = '%d.%m.%Y'
Sets timestamp format. %d.%m.%Y
by default.
let g:header_cfg_comment_char = ';'
Sets cfg's filetype comment character as this filetype supports multiple set of
comment characters (;
, //
, #
, ...). #
by default.
Supported filetypes are:
- asm
- c
- cfg
- clojure
- cpp cs css elixir erlang go groovy haskel java
- javascript
- jsx
- lisp
- lua
- matlab/octave
- ocaml
- php
- perl
- plaintex
- pug
- python
- ruby
- rust
- sass
- scala
- scheme
- sh
- tmux
- vim
- xdefaults
And licenses are:
- MIT
- Apache
- GNU
If you want more filetypes or licenses, you can open issues or provide any improvements by pull requests on alpertuna/vim-header. Also you can correct my English on README file or at comments in source code.