TODO comments
Highlight and navigate TODO/FIXME/NOTE comments across your codebase:lua/plugins/productivity.lua
Keyword highlighting
Multiple comment types with distinct colors:lua/plugins/productivity.lua
FIX
Critical issues requiring fixes
Red/error color
TODO
Tasks to complete
Blue/info color
HACK
Temporary workarounds
Yellow/warning color
WARN
Warnings and edge cases
Orange/warning color
PERF
Performance optimizations
Purple color
NOTE
Important notes
Green/hint color
TEST
Test-related comments
Test color
Navigation
| Key | Action | Description |
|---|---|---|
]t | Next todo | Jump to next TODO comment |
[t | Previous todo | Jump to previous TODO comment |
lua/plugins/productivity.lua
Example usage
All TODO keywords are highlighted in the sign column and visible in search results.
Search integration
Use Snacks picker to search all TODO comments:Lazyclip
Clipboard manager with history and fuzzy search:lua/plugins/productivity.lua
Features
Persistent history
Keeps last 100 clipboard items
Fuzzy search
Search clipboard history by content
Pagination
Navigate through items 9 at a time
Quick paste
Insert any historical item instantly
Window configuration
lua/plugins/productivity.lua
Keybindings
Inside the Lazyclip window:| Key | Action | Description |
|---|---|---|
q | Close | Close clipboard window |
h | Previous page | Go to previous page |
l | Next page | Go to next page |
<CR> | Paste | Paste selected item |
k | Move up | Move selection up |
j | Move down | Move selection down |
d | Delete | Delete selected item from history |
Usage example
Only text with 5+ characters is saved to history to avoid cluttering with single-character yanks.
Timerly
Simple timer plugin for time management:lua/plugins/productivity.lua
Usage
Perfect for Pomodoro technique or tracking time spent on tasks.
Mini.nvim productivity features
Additional productivity tools from mini.nvim:Surround
Add, delete, or replace surrounding characters:| Operator | Action | Example |
|---|---|---|
saiw) | Add surround | word → (word) |
sd' | Delete surround | 'hello' → hello |
sr)' | Replace surround | (word) → 'word' |
- Add
- Delete
- Replace
Position cursor on word, then:
saiw"→ Surround with double quotessaiw)→ Surround with parenthesessaiw]→ Surround with square brackets
Split/join
Toggle between split and joined code blocks:- Object literals
- Array literals
- Function arguments
- Import statements
- JSX props
Operators
Additional text operators:lua/plugins/mini.lua
Replace
<leader>oriw - Replace with registerExchange
<leader>oxiw - Exchange two text objectsSort
<leader>osip - Sort lines in paragraphMultiply
<leader>om3iw - Duplicate word 3 timesEvaluate
<leader>oei) - Evaluate expressionSession management
Persistent sessions with auto-save:lua/plugins/sessions.lua
Sessions are automatically saved and restored, preserving window layouts, buffers, and working directory.
Snacks productivity features
Snacks.nvim provides additional productivity tools:Scratch buffers
| Key | Action | Description |
|---|---|---|
<leader>. | Toggle scratch | Quick scratch buffer for notes |
<leader>S | Select scratch | Choose from multiple scratch buffers |
Zen mode
| Key | Action | Description |
|---|---|---|
<leader>z | Zen mode | Distraction-free editing |
<leader>Z | Zoom mode | Maximize current window |
Workflow tips
- TODO workflow
- Clipboard workflow
- Pomodoro workflow
- Add TODO comments while coding
- Use
]t/[tto navigate between them - Search all TODOs with
:TodoSnacks - Review and fix items systematically
Integration with other plugins
Snacks
Additional scratch buffers and zen mode
Trouble
View all TODOs in a quickfix-like list
Treesitter
Powers surround and split/join with syntax awareness