使い始めて、それなりに長い Vim ですが、ついにプラグイン開発に手を出してみました。
まず手を出したのは、日常的な実務で欲しいなと思う、ちょっとした機能です。
today.vim
現在の日時/日付/時刻のテキストを挿入するプラグインです。Excelユーザーであれば、「現在日時の挿入」はよく利用しているショートカットキーの一つだと思いますが、同じように実装してみました。
GitHub.com
Vim/neovim の各種プラグイgithubンマネージャーからインストールできるように、こちらで公開しました。
インストール方法
Vundle.vim
call vundle#begin()
Plug 'vimtry1/today.vim'
call vundle#end()
vim-plug
call plug#begin()
Plug 'vimtry1/today.vim'
call plug#end()
dein (toml利用) の場合
[[plugins]]
repo = 'vimtry1/today.vim'
dein (toml不使用の場合)
call dein#add('Shougo/deoplete.nvim')
使い方
コマンド | キーバインド | キーバインド(iVim) | 挿入する文字列 |
---|---|---|---|
:Today / :NowDate | Ctrl-Shift-j (Ctrl-J) | Ctrl-; | ‘YYYY/MM/DD’形式の現在日付 |
:NowTime | Ctrl-Shift-k (Ctrl-K) | Ctrl-: | ‘HH:MI:SS”形式の現在時刻 |
:Now / :NowDateTime | Ctrl-Shift-l (Ctrl-L) | Ctrl-+ | ‘YYYY/MM/DD HH:MI:SS”形式の現在日時 |
これらのキーマッピングは、ノーマルモードや挿入モードでのみ有効です。
解説
プログラミングをしている中ではさほど利用機会はない一方で、議事録やメモを書く場合には頻繁に利用します。愛用するATOKでも出せなくはないのですが、IMEの有効化がめんどくさかったり、フォーマットが合わなかったりしてイライラしていました。そこで、今回に至ります。
今回、プラグインを作成してみたところ、こんなに簡単に作れて動かせてプラグインマネージャーで扱えるようになるのかと感心しました。
ただ、残念だったのは Excel と同じようなキーバインドにしたかったのですが、Ctrl-; / Ctrl-: / Ctrl-+ へのキーマッピングが iVim 以外では動作しませんでした。様々な記事を調べてみましたが、超えられない壁のようでした。無念です。
とはいえ、Vim script 自体も難しい言語ではないため、今後は少しずつプラグイン開発にも励んでいきたいと考えております。
プラグインの動作不良や機能追加
初めてのプラグインですから、色々と拙い部分があるやもしれません。もちろん不具合の指摘や機能追加要望などでも構いません。
何か気づいたときには、遠慮なくメンションやIssue、プルリクエストをいただければと思います。
Vim Script を学んだ参考書
今回のプラグインは、下記の書籍で勉強している過程で作成したものです。Vim script をここまで詳しく解説している書籍は、国内ではこの一冊です。これからプラグインを作って、自ら便利にしていきたいと考えている Vimmer には必読の一冊ですね。