Pythonやシェルスクリプトを始め、インタプリタ言語のソースコードを実行して起動するためには、ソースコードの冒頭にシバン行を書かなければいけません。

毎度毎度、シバン行を手動で入力する作業は面倒なので、拡張子ごとにテンプレートを割り当てることにしました。

問題

例えば、以下のコマンドを実行して、vimを起動したとします。

vi ./test.py

vimの設定が行われていない場合は、何も記入されていない空のファイルが立ち上がります。この状態からメイン関数やシバン行などを手動で入力していく作業はとても面倒です。

そこで、拡張子を指定して起動した際には、それらに一致するテンプレートを読み込むようにさせます。

解決策

まず、以下のコマンドを実行して、vimのテンプレート用のディレクトリを作ります。

mkdir ~/.vim/template

続いて、そのテンプレートディレクトリの中にPython用のテンプレートコードのファイルを作ってください。

vi ~/.vim/template/python3.txt

今回はファイルの中身を以下のように記述しました。

#! /usr/bin/python3
import sys 

if __name__ == "__main__":
    try:
        print("Hello world")

    except KeyboardInterrupt:
        print("\nprogram was ended.\n")
        sys.exit()

後は、/usr/share/vim/vimrcの末尾に下記の内容を追記しておきます。

autocmd BufNewFile *.py 0r $HOME/.vim/template/python3.txt

*.pyと指定することで、py拡張子を持つファイルは全てpython3.txtを参照してファイルを作ります。

もし、CやJava、HTMKなどの言語で、インクルードや関数、オブジェクト指向などの構文を自動的に入力してほしい場合は上記に倣って設定してください。

結論

これで拡張子ごとに独自のテンプレートを設定できるので、vimでの開発効率がさらに高まります。

関連記事

vimの基本的な使い方について

【内部リンク】Small版vimの基本的な操作方法について

vimのいろはが書かれてあります。操作に慣れている方はあえて見る必要はありません。

emmetとsurroundのインストール方法と使い方

【内部リンク】vimプラグインのemmetとsurroundのインストール方法と使い方【NeoBundleは不要】

代表的なプラグインであるemmetとsurroundのインストール作業から使い方まで説明しています。

公式では非推奨のNeoBundleは使用していません。