🐼VimによるToDo管理を支える技術kyoh862024/02/14に公開Vimtodotech!この記事はVim駅伝の2024-02-14向け記事です背景ToDo管理、大変ですよね。世間には色んなツールがありますし、様々な方法論も溢れています。そのどれも、非常に大きな問題を抱えています。VimじゃないVimじゃないんです。われわれはVimに魂を奪われた悲しき獣。Vim以外の媒体で文字を書くと、全身に蕁麻疹が出て、手足は震え視野が狭窄し、やがて死に至ります。解決は小さくもう1つの問題として、世にある様々なToDo管理は完成度の高い、巨大なツール本が何冊も出るような、複雑な方法論を必要としています。そのため、学習コストが高く、始めるのも慣れるにも時間がかかります。怠惰だからToDo管理をしたいのに、怠惰な人間には辛い初期コストを要するという理不尽。私はそんな理不尽に抗えるほどまともな人間ではないので、小さく始めて、問題に直面するたび、少しずつ改善していくようにしたいものです。何でもかんでも管理しようとして、本当にやるべきことを見失ってしまいがちです。ToDo管理として常時にらむ対象は優先度に従って並べられる程度には少なく、自明に直近でやるべきことだけにしています。Issue)などに流して、暇なときに眺める程度。思い付きで取り組むこともありますが、基本はリスト化した段階で満足して、放置しています。解決策たち本稿では、私がそうして向き合うために必要とした小さな解決策たちを、一個一個列挙して紹介しようと思います。todo.mdファイルを開くキーマップToDoはすべて1ファイルで管理しています。プライベートのタスクも、仕事のタスクも、それぞれそのための端末に保存してあるため、端末を切り替えればToDoファイルの中身はそれぞれ。ToDoファイルへのアクセスは手軽であればあるほど良いのは間違いありません。開くのが面倒くさいファイルは、やがて忘れ去られて陳腐化します。そのため、あえてToDoファイルを開くためだけのキーマップを設定しました。~/.local/state/todo.md<cr>\\tと入力するだけで、ファイル~/.local/state/todo.mdをウィンドウ分割で開きます。シンボリックリンク(Vimは関係ないですが)ToDoファイル自体、場合によっては外部のストレージと同期しておきたい場合もあるでしょう。Driveと同期しています。外部ストレージとの同期はサービスによって置き場所が変わったりするので、サービスごとの設定が必要になったりと面倒が増えます。そんな面倒を避けるため、スタティックリンクを張ってどの端末でも同じ~/.local/state/todo.mdでアクセスできるようにしています。$HOME/.local/state/todo.mdリンクをブラウザで開くキーマップToDoファイルには、取り組むべき課題のお題目だけを書くようにしています。そのため、詳細は例えばGitHubのIssueなど、外部のタスク管理サービスに任せています。kyoh86/todo#123そして、ToDoファイルに張られたリンクを直接Vimから開けるようにしています。script版は誰か書いてくれてもいいんですよ)外部ファイルのパスや、owner/repo#nnnの形で書かれたIssueリンクがあれば、カーソルを合わせてgxとタイプすることで直接開かれるようになっています。Vimの<cfile>は、万能ではないですが便利ですね。チェックボックスを操作するキーマップ各タスクをMarkdownのチェックリストで書いておくと、1日/1週など特定期間での振り返りがしやすくなります。いえMarkdownのチェックリストは、Vimだと扱いにくいので、カーソル行のチェックリストをチェック済/未チェックで切り替えるキーマップがあると便利です。})こちらの機能は別記事で@kawarimidollさんが書いている記事にならっています。https://zenn.dev/vim_jp/articles/4564e6e5c2866dIssueへのリンクを気軽に張るIssueに気軽に飛べるようにするなら、当然そのリンクを気軽に張れるようにするのも大事です。FinderなどでIssueを列挙し、リンクをバッファに張る機能をつけておくと便利です。Finderでも同様のことはできるでしょう。kyoh86バックエンド系が好きなエンジニアvim-jpPublicationバッジを贈って著者を応援しようバッジを受け取った著者にはZennから現金やAmazonギフトカードが還元されます。Proよくある質問LinksX(Twitter)GitHubメディアキットLegal利用規約プライバシーポリシ。