소개
Todo 관리용 텍스트 파일(todo.txt) 및 이 텍스트 파일을 이용하기 위한 클라이언트 툴에 대해 알아보겠습니다. 덧붙여 이번 이야기의 전제로서 개인의 Todo 관리를 상정하고 있어, 팀의Todo 관리는 상정하고 있지 않습니다.
todo.txt 는 todo 관리를 위한 텍스트 파일 형식으로 사양이 작성된 문서입니다. 일단, todo.txt는 처음에 다음과 같이 작성되었습니다.
The first and most important rule of todo.txt:
A single line in your todo.txt text file represents a single task.
즉, 1 행 1 태스크입니다. 예를 들면 다음과 같은 간단한 내용의 텍스트 파일입니다.
최초에 할 일
다음에 해야 할 일
기본적으로 이것뿐입니다.
왜 텍스트 파일인가?
todo.txt 를 조금 더 읽으면 다음과 같이 작성됩니다.
Plain text is software and operating system agnostic. It's searchable, portable, lightweight, and easily manipulated.
(단지 텍스트 파일이므로) OS 독립적 / 검색 가능 / 휴대용 / 경량 / 조작하기 쉬운 당연하지만 매우 중요한 것이 쓰여져 있습니다. 개인적인 취향으로도
- 마우스 조작보다 키보드 조작을 좋아합니다.
- GUI에서 CUI / TUI를 좋아합니다.
- 간단한 것을 좋아합니다.
- 평상시 사용하는 에디터는 NeoVim
라는 것이 있기 때문에, 단순한 텍스트 파일 이라고 하는 것은 매우 궁합이 좋은 것입니다. 이 단순한 텍스트 파일 을 클라우드에 자동 동기화되도록 하고, 다양한 클라이언트 툴을 이용하면 PC/스마트폰 등 다양한 디바이스에서 이용하는 것도 간단합니다.
todo.txt 의 섬세한 형식에 대해
todo.txt 에 매우 자세하게 쓰여져 있습니다만, 모두 아래 이미지에 집약되어 있습니다.
보면 알 수 있습니다만, 이것은 GTD(Getting Things Done) 에 따른 운용이 가능하다는 것입니다. 이번은 GTD에 대해서는 설명하지 않으므로, 신경이 쓰이는 분은 조사해 보면 좋다고 생각합니다. 검색하면 서적 등도 풍부하게 찾을 수 있습니다. 덧붙여 확장 사양 을 정의하는 것도 가능하므로, 자신 취향에 맞게 확장할 수도 있습니다.
todo.txt 의 클라이언트 도구 소개
- todo.txt-cli
- https://github.com/todotxt/todo.txt-cli
- todotxt에서 호스팅하고 있기 때문에 공식?의 CUI 클라이언트. 이것으로 만족할 수 있다면 반드시 이것이 가장 좋은 것이라고 생각합니다. 제 경우에는 이것만으로는 운용이 어려웠습니다.
- topydo
- https://github.com/topydo/topydo
- 당초 애용하고 있던 툴입니다. CUI(라고 할까 정확하게는 TUI?)로 여기까지 표현할 수 있을까 하는 놀라움이 있었습니다. 다만, 제 경우 상당히 큰 태스크 등록을 하고, 그 상세는 다른 텍스트 파일에 쓰고 싶다는 것이 있어 그 점에서 후술의 자작 툴 작성으로 연결되었습니다.
- 완전히 여담입니다만, TUI로 무언가 자작한다면 예를 들면 Rust의 https://github.com/ratatui/ratatui 등 사용하면 여러가지 할 수 있어 즐거운 것이 아닐까 생각합니다.
- tokaido
- https://github.com/maedana/tokaido
- Rails에서 로컬로 움직이는 전제의 웹 앱으로서 구현했습니다. NeoVim과 연동시키지 않으면 거의 의미가 없기 때문에, 그 경우는 topydo가 좋을까라고 생각합니다. 각 Todo의 상세를 다른 텍스트 파일로 관리하고 싶어서 만들었습니다만, 자신만 사용할 수 있으면 좋다고 생각하고 있으므로 너무 제대로 만들지 않습니다. 이제 재현하고 싶은 기분은 조금 있습니다.
- 자세히 언급하지 않지만 https://github.com/neovim/neovim-ruby 를 사용하여 Ruby에서 NeoVim 을 조작 할 수 있으므로 고민하면 더 다양할 수 있을 것 같습니다.
개인 운영 방법에 대해
- tokaido를 뷰어로 사용
- todo.txt 편집은 NeoVim
- tokaido 와 NeoVim의 연동으로 개별 Todo의 상세를 또 다른 텍스트 파일로 편집
- todo.txt 및 개별 Tot 텍스트 파일을 Git 저장소로 관리
- Priority는 사용하지 않는다. 편집기에서 행별로 정렬하기만 하면 충분
- Context는 사용하지 않는다. 주로 일로만 이용하므로 전환할 필요성을 느끼지 않는다.
- Project는 굉장히 자주 쓴다. 여러 프로젝트 당 진행중인 작업을 관리하고 싶기 때문에.
- 만료 된 작업은 due :를 설정합니다.
이렇게 운영함으로써
- 이동 중 등 최악의 경우 인터넷 환경이 없어도 태스크 관리 가능
- 모두 텍스트이므로 태스크의 상세 텍스트 포함해 ripgrep 등으로 재빠르게 찾을 수 있다
- 태스크의 상세 텍스트를 Markdown으로 쓰도록 하고 있으므로, 예를 들면 팀에서의 공유용으로 github issue에 내용을 기록하고 싶은 등의 경우에서도 copipe로 끝난다
일상 업무의 진행에 매우 편리합니다.
요약
Todo 관리용 텍스트 파일(todo.txt)에 대해 소개했습니다. 자작 개발에 집착하지 않기 때문에, 더 이것이 유행해 좀 더 사용하기 좋은 클라이언트가 되어 주었으면 좋겠다-라고 생각하고 있습니다.
Comments
Post a Comment