]> git.r.bdr.sh - rbdr/r.bdr.sh/blame_incremental - nota.gmi
Update links
[rbdr/r.bdr.sh] / nota.gmi
... / ...
CommitLineData
1--- title: /nota.html
2--- description: nota (.nvim) is a (very opinionated) neovim plugin for note management.
3## nota.nvim
4
5Tools to work with notes and tasks in neovim. It allows you to:
6
7- Open and edit periodic notes with templates (daily, weekly, monthly, seasonal, and yearly)
8- Open, edit and archive .plan files
9- Open and capture learning entries in a learning file
10- Manage tasks in your daily files
11
12This plugin is still heavily under construction and the functionality to reschedule, capture to inbox or defer tasks is not yet implemented.
13
14=> https://git.r.bdr.sh/rbdr/nota.nvim view source @ git.r.bdr.sh
15=> https://git.sr.ht/~rbdr/nota.nvim source mirror @ sourcehut
16
17## Installation
18
19### lazy.nvim
20
21The minimal setup doesn't require any configuration, and sets the default paths and keybins as defined in the sections below.
22
23```
24require('lazy').setup({
25 'https://git.sr.ht/~rbdr/nota.nvim',
26})
27```
28
29Some features in this plugin depend on fzf-lua[1]
30
31=> https://github.com/ibhagwan/fzf-lua [1] fzf-lua
32
33By default, nota adds keybinds that might not suit your style or conflict with other plugins. You can disable them with the `default_keybinds` option.
34
35```
36require('lazy').setup({
37 {
38 'git@git.sr.ht:~rbdr/nota.nvim',
39 opts = {
40 default_keybinds = false
41 }
42})
43```
44
45### Configuration
46
47The plugin allows you to configure a variety of directories and settings. All the available settings and their defaults are here:
48
49```
50require('lazy').setup({
51 {
52 'git@git.sr.ht:~rbdr/nota.nvim',
53 opts = {
54 nota_home = '~/.local/share/nota', -- Root location in which to store all notes
55 default_keybinds = true, -- Whether or not to set the default keybinds
56 periodic_locations = {
57 daily = 'periodic/daily', -- Location to store daily notes, relative to nota_home
58 weekly = 'periodic/weekly', -- Location to store weekly notes, relative to nota_home
59 monthly = 'periodic/monthly', -- Location to store monthly notes, relative to nota_home
60 seasonal = 'periodic/seasonal', -- Location to store seasonal notes, relative to nota_home
61 yearly = 'periodic/yearly' -- Location to store yearly notes, relative to nota_home
62 },
63 templates = {
64 daily = 'templates/daily.md', -- Template for daily notes, relative to nota_home
65 weekly = 'templates/weekly.md', -- Template for weekly notes, relative to nota_home
66 monthly = 'templates/monthly.md', -- Template for monthly notes, relative to nota_home
67 seasonal = 'templates/seasonal.md', -- Template for seasonal notes, relative to nota_home
68 yearly = 'templates/yearly.md', -- Template for yearly notes, relative to nota_home
69 plan = 'templates/plan.md' -- Template for plan notes, relative to nota_home
70 },
71 tasks = {
72 inbox = 'inbox.md', -- Location of the file in which to store newly captured tasks, relative to nota_home
73 someday = 'someday.md' -- Location of the file in which to store indefinitely deferred tasks, relative to nota_home
74 },
75 learning = {
76 learning_file = 'learning.md', -- Location of the file in which to store learning entries, relative to nota_home
77 prefix = '%Y-%x-%d: ' -- Prefix to add when capturing learning entries
78 },
79 plan = {
80 archive = 'plans', -- Location of the plan archives.
81 plan_file = '~/.plan' -- Location of the active plan, the default is what is expected by finger.
82 }
83 }
84 }
85})
86```
87
88## Keybinds
89
90Unless disabled, these are the key bindings provided:
91
92### Opening Notes
93- `<leader>od`, `:NotaOpenDailyNote`, Opens today's daily note.
94- `<leader>ow`, `:NotaOpenWeeklyNote`, Opens this week's weekly note.
95- `<leader>om`, `:NotaOpenMonthlyNote`, Opens this month's monthly note.
96- `<leader>os`, `:NotaOpenSeasonalNote`, Opens this season's seasonal note.
97- `<leader>oy`, `:NotaOpenYearlyNote`, Opens this year's yearly note.
98- `<leader>on`, `:NotaOpenNote`, Opens an arbitrary note. (Requires fzf-lua)
99
100### Task Views
101- `<leader>oa`, `:NotaOpenAgenda`, Opens the agenda window with this week's tasks.
102- `<leader>oo`, `:NotaOpenOpen`, Opens a window that lets you navigate through all open tasks.
103- `<leader>oO`, `:NotaOpenOpenImportant`, Opens a window that lets you navigate through all open important tasks.
104- `<leader>oj`, `:NotaOpenJournal`, Opens a window that lets you search completed tasks to find journal entries. (Requires fzf-lua and ripgrep)
105
106### Task Handling Commands
107- `<leader>t`, `:NotaToggleTask`, Toggles completion state of the task under the cursor.
108- `<leader>st`, `:NotaToggleTaskImportance`, Toggles importance state of the task under the cursor. (- [ ] is a regular task, * [ ] is an important task)
109- `<leader>it`, `:NotaInsertTask`, Inserts a task at cursor location.
110- `<leader>ct`, `:NotaCaptureTask`, Captures a new task into the inbox.
111- `<leader>Tt`, `:NotaTagTask`, Adds a tag to the current task.
112- `<leader>rt`, `:NotaRescheduleTaskToday`, Reschedules the task under the cursor to today.
113- `<leader>rT`, `:NotaRescheduleTaskTomorrow`, Reschedules the task under the cursor to tomorrow.
114- `<leader>rs`, `:NotaRescheduleTaskSomeday`, Reschedules the task under the cursor to someday.
115- `<leader>rr`, `:NotaRescheduleTask`, Reschedules the task under the cursor to an arbitrary date.
116
117### Learning Handling Commands
118- `<leader>ol`, `:NotaOpenLearning`, Opens the learning file.
119- `<leader>cl`, `:NotaCaptureLearning`, Captures a new task into the inbox.
120
121### Plan Handling Commands
122- `<leader>op`, `:NotaOpenPlan`, Opens the current plan file.
123- `<leader>cp`, `:NotaCapturePlan`, Captures a new plan and archives the current one.
124
125## Conventions used in the text files.
126
127- - [ ] and - [x] indicate a regular task
128- * [ ] and * [x] indicate an important task
129- - [>] and * [>] indicate a rescheduled task. This is only applied to tasks that were rescheduled after they were due.