✌️

日常の作業改善のため超シンプルvimプラグインを作成した

2021/08/18に公開

何を作ったのか

vimでTodo管理を便利にするための小さなプラグインです。

  • 新規タスクを作成する
  • タスクの終了・未了をワンボタンで切り替えられる
  • 終了済みのタスクをまとめて、最終行に移動させる

ということをできるようにしました。

https://github.com/bun913/min-todo.vim

イメージ

タスクの作成

タスクの終了・未了を切り替え

終了済みのタスクをまとめて移動

参考にしたサイト

初めて作るvimプラグインですし、そもそもまともにvimスクリプトを書いたことがないためお作法がさっぱりわかりませんでした。

以下のサイトを参考にさせていただきました

私はプラグイン管理に deinを利用していますので、自分で動作を確かめる時には以下のようにtomlファイルでローカルフォルダを指定しました。

[[plugins]]
repo = 'ローカルパス/min-todo.vim'

なぜ作ったのか

最近DevOpsの文化を学習しており、その中でも「日常業務よりも日常業務の改善」という考え方にとても共感しています。

普段の業務でもプロジェクトについてはチケット管理を導入していますが、チケットに書くまでもない細かい手順や個人的なタスクについては、VSCodeの拡張機能を利用していました。

https://marketplace.visualstudio.com/items?itemName=fabiospampinato.vscode-todo-plus

しかし、ワークスペースの切り替えを行ったりすると特定の場所に置いているTODOファイルを開くのが面倒だったり、そもそもVSCodeを開くのが面倒な時があります。

マークダウンの形式で良いので、簡単にタスク管理をできるようにしたいと思ってプラグインを作成してみました。

以下のようにショートカット一つでファイルを開き、内容を編集できるようにしています。

" ノーマルモード中のチェックボックスの未了・終了の切り替え
nnoremap お好みのキー :ToggleTask<CR>
" インサートモード中の新規タスクの作成
imap お好みのキー <ESC>:CreateTask<CR>A
" すぐにタスク管理用ファイルが開けるようにショートカット登録
nnoremap <Leader>t :tabe ~/todo.md<CR>

Discussion