OSの日記

通信に関する研究をする学生A

初めてのVimプラグイン

今回は、本当に本当に初歩のVimプラグインを作ってみます。

まずはじめに、ターミナルを開いて、my-vim-pluginディレクトリを作ります。

mkdir my-vim-plugin

次に作ったディレクトリに移動

cd my-vim-plugin

そして、pluginディレクトリとREADME.mdを作成(README.mdは作らなくてもいいが、習慣として)

mkdir plugin

touch README.md

そのあとはpluginディレクトリに移動

cd plugin

そして、script.vimプラグインするテキストを書き込む

vim script.vim

書き込む内容は別の方が作られたものをお借りしました。ランダムに日付、時刻などを作成するプラグインです。

function! GetRandom(min, max)
  return reltime()[1] % (a:max - a:min + 1) + a:min
endfunction

function! GetRandomDate()
  return GetRandom(1980, 2017) . '-' . GetRandom(1, 12) . '-' . GetRandom(1, 28)
endfunction

function! GetRandomDateTime()
  return GetRandomDate() . ' ' . GetRandom(0, 23) . ':' . GetRandom(0, 59) . ':' . GetRandom(0, 59)
endfunction

function! InsertRandomDateTime()
  let datetime = GetRandomDateTime()
  execute ":normal a" . datetime
endfunction

command! RandDateTime call InsertRandomDateTime()

書き終えたら、:wqで保存!

 

最終的なファイル構成は次のようになっています

my-vim-plugin
├── README.md
└── plugin
    └── script.vim

 

早速、プラグインを体験してみましょう!

まずvimでの編集中にscript.vimを読み込む必要があるので、簡単のためscript.vimのあるディレクトリで試してみます。

したがって、pluginディレクトリでvim sampleなどとして編集画面を開きます

そして、編集画面上で:source script.vimを実行します。(:wqと同じように)

そうしたら、プラグインされるので、:RandDatetimeを実行します。(tabキーで予測変換してくれます)

実行すると、ランダムな年月日と時刻(e.g. 2010-11-16 9:1:17)が表示されます

 

以上が本当に本当に初心者の私が伝えられるVimプラグイン入門でした。

今回作成してみて、毎回:source <file>を実行しなければならないのか、面倒と感じるかもしれませんが、パッケージ機能を使用すればVimを起動するのと同時にプラグインが読み込まれるので安心してください。

パッケージについては私自身まだまだ勉強中なので、いつかのブログでお知らせしたいと思います!

 

2020/02/13 16:11