]> git.r.bdr.sh - rbdr/nota.nvim/blob - README.md
852032ebc041532b3af43a453cf300609a1ca705
[rbdr/nota.nvim] / README.md
1 # nota.nvim
2
3 Tools to work with notes and tasks in neovim.
4
5 ## Installation
6
7 ### lazy.nvim
8
9 The minimal setup doesn't require any configuration, and sets the default paths and keybins as defined in the sections below.
10
11 ```lua
12 require('lazy').setup({
13 'https://git.sr.ht/~rbdr/nota.nvim',
14 })
15 ```
16
17 This plugin has an optional dependency: [fzf-lua][fzf-lua].
18
19 By default, nota adds keybinds that might not suit your style or conflict with other plugins. You can disable them with the `default_keybinds` option.
20
21 ```lua
22 require('lazy').setup({
23 {
24 'git@git.sr.ht:~rbdr/nota.nvim',
25 opts = {
26 default_keybinds = false
27 }
28 })
29 ```
30
31 Here's the full configuration with its default values:
32
33 ```lua
34 require('lazy').setup({
35 {
36 'git@git.sr.ht:~rbdr/nota.nvim',
37 opts = {
38 nota_home = '~/.local/share/nota', -- Root location in which to store all notes
39 default_keybinds = true, -- Whether or not to set the default keybinds
40 periodic_locations = {
41 daily = 'periodic/daily', -- Location to store daily notes, relative to nota_home
42 weekly = 'periodic/weekly', -- Location to store weekly notes, relative to nota_home
43 monthly = 'periodic/monthly', -- Location to store monthly notes, relative to nota_home
44 seasonal = 'periodic/seasonal', -- Location to store seasonal notes, relative to nota_home
45 yearly = 'periodic/yearly' -- Location to store yearly notes, relative to nota_home
46 },
47 templates = {
48 daily = 'templates/daily.md', -- Template for daily notes, relative to nota_home
49 weekly = 'templates/weekly.md', -- Template for weekly notes, relative to nota_home
50 monthly = 'templates/monthly.md', -- Template for monthly notes, relative to nota_home
51 seasonal = 'templates/seasonal.md', -- Template for seasonal notes, relative to nota_home
52 yearly = 'templates/yearly.md', -- Template for yearly notes, relative to nota_home
53 plan = 'templates/plan.md' -- Template for plan notes, relative to nota_home
54 },
55 tasks = {
56 inbox = 'inbox.md', -- Location of the file in which to store newly captured tasks, relative to nota_home
57 someday = 'someday.md' -- Location of the file in which to store indefinitely deferred tasks, relative to nota_home
58 },
59 learning = {
60 learning_file = 'learning.md', -- Location of the file in which to store learning entries, relative to nota_home
61 prefix = '%Y-%x-%d: ' -- Prefix to add when capturing learning entries
62 },
63 plan = {
64 archive = 'plans', -- Location of the plan archives.
65 plan_file = '~/.plan' -- Location of the active plan, the default is what is expected by finger.
66 }
67 }
68 }
69 })
70 ```
71
72 ## Default Keybinds
73
74 ### Opening Notes
75 - `<leader>od`, `:NotaOpenDailyNote`, Opens today's daily note.
76 - `<leader>ow`, `:NotaOpenWeeklyNote`, Opens this week's weekly note.
77 - `<leader>om`, `:NotaOpenMonthlyNote`, Opens this month's monthly note.
78 - `<leader>os`, `:NotaOpenSeasonalNote`, Opens this season's seasonal note.
79 - `<leader>oy`, `:NotaOpenYearlyNote`, Opens this year's yearly note.
80 - `<leader>on`, `:NotaOpenNote`, Opens an arbitrary note. (Requires [fzf-lua][fzf-lua])
81
82 ### Task Views
83 - `<leader>oa`, `:NotaOpenAgenda`, Opens the agenda window with this week's tasks.
84 - `<leader>oo`, `:NotaOpenOpen`, Opens a window that lets you navigate through all open tasks.
85 - `<leader>oO`, `:NotaOpenOpenImportant`, Opens a window that lets you navigate through all open important tasks.
86 - `<leader>oj`, `:NotaOpenJournal`, Opens a window that lets you search completed tasks to find journal entries. (Requires [fzf-lua][fzf-lua] and ripgrep)
87
88 ### Task Handling Commands
89 - `<leader>t`, `:NotaToggleTask`, Toggles completion state of the task under the cursor.
90 - `<leader>st`, `:NotaToggleTaskImportance`, Toggles importance state of the task under the cursor. (- [ ] is a regular task, * [ ] is an important task)
91 - `<leader>it`, `:NotaInsertTask`, Inserts a task at cursor location.
92 - `<leader>ct`, `:NotaCaptureTask`, Captures a new task into the inbox.
93 - `<leader>Tt`, `:NotaTagTask`, Adds a tag to the current task.
94 - `<leader>Rt`, `:NotaRemoveTagTask`, Removes a tag from the current task.
95 - `<leader>rt`, `:NotaRescheduleTaskToday`, Reschedules the task under the cursor to today.
96 - `<leader>rT`, `:NotaRescheduleTaskTomorrow`, Reschedules the task under the cursor to tomorrow.
97 - `<leader>rs`, `:NotaRescheduleTaskSomeday`, Reschedules the task under the cursor to someday.
98 - `<leader>rr`, `:NotaRescheduleTask`, Reschedules the task under the cursor to an arbitrary date.
99
100 ### Learning Handling Commands
101 - `<leader>ol`, `:NotaOpenLearning`, Opens the learning file.
102 - `<leader>cl`, `:NotaCaptureLearning`, Captures a new task into the inbox.
103
104 ### Plan Handling Commands
105 - `<leader>op`, `:NotaOpenPlan`, Opens the current plan file.
106 - `<leader>cp`, `:NotaCapturePlan`, Captures a new plan and archives the current one.
107
108 [fzf-lua]: https://github.com/ibhagwan/fzf-lua