How to Create Custom Header Template for Shell Scripts in Vim
First start by creating the template file called sh_header.temp, which contains your custom bash script header, possibly under ~/.vim/
directory under your home.
$ vi ~/.vim/sh_header.temp
Next add the following lines in it (feel free to set your own template file location and custom header) and save the file.
#!/bin/bash ################################################################### #Script Name : #Description : #Args : #Author :Aaron Kili Kisinga #Email :aaronkilik@gmail.com ###################################################################
The template above will automatically add the required “shebang” line: “#!/bin/bash”
and your other custom headers. Note that in this example, you will manually add the script name, description and arguments when editing your script content.
Configure autocmd in Vimrc File
Now open your vim initialization file ~/.vimrc
for editing and add the following line to it.
au bufnewfile *.sh 0r /home/aaronkilik/.vim/sh_header.temp
Where:
- au – means autocmd
- bufnewfile – event for opening a file that doesn’t exist for editing.
- *.sh – consider all files with .sh extension.
So the above line instructs vi/vim editor to read the contents of the template file (/home/aaronkilik/.vim/sh_header.temp) and insert it into every new .sh
file opened by a user.
Test Custom Bash Script Header in New Script File
Now you can test if all is working by opening a new .sh
file using vi/vim editor, and your custom header should be auto-added there.
$ vi test.sh