Bash Supportをインストールするには、zipアーカイブをダウンロードして ~/.vimディレクトリにコピーし、アーカイブを展開する。また、~/.vimrcファイルの中にいくつかの個人情報を付け加えておくと便利なので、~/.vimrcファイルを開いて以下のような3行を追加しよう。
let g:BASH_AuthorName = 'Your Name'
let g:BASH_Email = 'my@email.com'
let g:BASH_Company = 'Company Name'
詳しくは後述するが、以上の各変数はプロジェクトのヘッダの一部で使用される。
Bash Supportプラグインは、gVim(Vim GUI)でもテキストモードのVimでも使用することができる。ただしGUIとして利用した方がやや使いやすいのに加え、Bash SupportプラグインはVimのテキストモードではほとんどのメニュー機能を実装していないので、スクリプトを書く際にはgVimを使用した方が良いかもしれない。
Bash Supportをインストールすると、「Bash」という名前の新たなメニューがgVimに追加される。Bash Supportの持つすべての機能は、このメニュー経由で利用することができる(なおメニューはマウスからでもキーボードからでも操作することができる)。以下では、Bash Supportが提供する機能の一部を紹介し、Bash SupportによりBashスクリプトの作成がいかに容易になるかを見ていく。
ヘッダとコメント
スクリプトの中にたくさんのコメントを書くようにしている人は(そういう人が多いことを私は願っている)、Bash Supportの恩恵を特に受けることができるだろう。Bash Supportではbashスクリプトにコメントを簡単に付け加えるための機能が数多く提供されていて、自動的に、あるいは2、3のキー入力やマウスクリックでコメントを追加することができるようになっている。
自分以外の人にも使用/管理されることになるような本格的なスクリプトを書き始める際には、スクリプト名、利用方法、説明、注意点、作者情報、著作権表示など、自分の次にスクリプトを管理することになる人にとって有益だと思われる基本情報をヘッダに付け加えておくのが賢明だ。Bash Supportを使うと、そのような情報を非常に簡単に付け加えることができる。gVimでBash→Comments(コメント)→File Header(ファイルヘッダ)を実行すれば、以下のようなヘッダがスクリプトに挿入される。
#!/bin/bash #=============================================================================== # # FILE: test.sh # # USAGE: ./test.sh # # DESCRIPTION: # # OPTIONS: --- # REQUIREMENTS: --- # BUGS: --- # NOTES: --- # AUTHOR: Joe Brockmeier, jzb@zonker.net # COMPANY: Dissociated Press # VERSION: 1.0 # CREATED: 05/25/2007 10:31:01 PM MDT # REVISION: --- #===============================================================================
上記のヘッダの中には自分で入力する必要のある情報もあるが、作者名、企業名、電子メールアドレスについてはBash Supportが ~/.vimrcから取得してくれる。またファイル名と作成日時についても自動的に挿入してくれる。さらに便利なことに、VimやgVimで .sh拡張子の付いた新しいファイルを開くとヘッダは自動的に挿入される。
スクリプトを書いていると、関数についても上記のような複数行にわたるコメントを付け加えたいことがあるだろう。これを行なうためには、Bash→Comment(コメント)→Function Description(関数の説明)を実行すると、以下のようなテキストが挿入される。
#=== FUNCTION ================================================================ # NAME: # DESCRIPTION: # PARAMETERS: # RETURNS: #===============================================================================
適切な情報を入力したら、コーディングの続きをしよう。
Comment(コメント)メニューではまた、他のタイプのコメントを挿入したり、現在の日付や時刻を挿入したり、選択したコードをコメントアウトしたりその逆を行なったりすることができる。
