# **42 Header**

42Lausanne (Switzerland)

### **Description**

42 standard header for vim editor.

![42 header](img/42header.png)

### **Usage**

In **NORMAL** mode you can simply press the shortcut <kbd>F2</kbd> (or <kbd>FN</kbd> <kbd>F2</kbd>) or use `:FT` (<kbd>ESC</kbd> :FT) as command.
```
vim 42.c
<ESC> <F2>
<ESC> :wq

vim Makefile
<ESC> :FT
<ESC> :wq
```

### **Quick Setup**

Below replace "marvin" with your 42 Network login.

```
export USER="marvin"
export MAIL="marvin@student.42lausanne.ch"

./set_header.sh
```

In all your git repositories:
```
git clone git@... project
cd project
git config user.name "marvin"
git config user.email "marvin@student.42lausanne.ch"
```

### **Manual Setup**

Below replace "marvin" with your 42 Network login.

Copy `stdheader.vim` in your `~/.vim/plugin`.
```
test -d ~/.vim/plugin || mkdir -p ~/.vim/plugin
cp -va vim/stdheader.vim ~/.vim/plugin
```

In all your git repositories:
```
git clone git@... project
cd project
git config user.name "marvin"
git config user.email "marvin@student.42lausanne.ch"
```

UNIX/BSD Distro (MacOS X, FreeBSD, OpenBSD, etc.)
Add in `~/.zshrc` your:
```
vim ~/.zshrc
export USER="marvin"
export MAIL="marvin@student.42lausanne.ch"
<ESC> :wq
source ~/.zshrc
```

Linux/GNU Distro (Debian/Ubuntu, RedHat/SuSE, Arch, Gentoo, etc.)
Add in `~/.bashrc` your:
```
vim ~/.bashrc
export USER="marvin"
export MAIL="marvin@student.42lausanne.ch"
<ESC> :wq
. ~/.bashrc
```

### **Note**

Your git username and email will always have the priority to $USER and $MAIL variable
if you are outside a git tree and $USER and $MAIL are not defined it will use the
default marvin@student.42lausanne.ch as email and marvin as login for your header.

The location of this alternative version of stdheader.vim:
- ~/.vim/plugin/stdheader.vim
- $HOME/.vim/plugin/stdheader.vim

The location of the official stdheader.vim in 42lausanne's clusters:
- /usr/share/vim/vim80/plugin/stdheader.vim
- /usr/share/vim/vim81/plugin/stdheader.vim (at the time of writing)
- /usr/share/vim/vim82/plugin/stdheader.vim

### **Credits**

- [@42Paris](https://github.com/42Paris)
- [@zazard](https://github.com/zazard)

### **License**

This work is published under the terms of **[42 Unlicense](https://github.com/gcamerli/42unlicense)**.
