]>
Commit | Line | Data |
---|---|---|
56292c79 RBR |
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({ | |
2cc29448 | 13 | 'https://git.sr.ht/~rbdr/nota.nvim', |
56292c79 RBR |
14 | }) |
15 | ``` | |
16 | ||
503d09fc RBR |
17 | This plugin has an optional dependency: [fzf-lua][fzf-lua]. |
18 | ||
56292c79 RBR |
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 | ||
56292c79 RBR |
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. | |
503d09fc | 80 | - `<leader>on`, `:NotaOpenNote`, Opens an arbitrary note. (Requires [fzf-lua][fzf-lua]) |
ca10d2a3 RBR |
81 | - `<leader>N`, `:NotaOpenNextNote`, Opens the next periodic note. (eg. tomorrow or next year) |
82 | - `<leader>P`, `:NotaOpenPreviousNote`, Opens the previous periodic note. (eg. yesterday or last week) | |
56292c79 RBR |
83 | |
84 | ### Task Views | |
85 | - `<leader>oa`, `:NotaOpenAgenda`, Opens the agenda window with this week's tasks. | |
86 | - `<leader>oo`, `:NotaOpenOpen`, Opens a window that lets you navigate through all open tasks. | |
503d09fc RBR |
87 | - `<leader>oO`, `:NotaOpenOpenImportant`, Opens a window that lets you navigate through all open important tasks. |
88 | - `<leader>oj`, `:NotaOpenJournal`, Opens a window that lets you search completed tasks to find journal entries. (Requires [fzf-lua][fzf-lua] and ripgrep) | |
56292c79 RBR |
89 | |
90 | ### Task Handling Commands | |
91 | - `<leader>t`, `:NotaToggleTask`, Toggles completion state of the task under the cursor. | |
503d09fc | 92 | - `<leader>st`, `:NotaToggleTaskImportance`, Toggles importance state of the task under the cursor. (- [ ] is a regular task, * [ ] is an important task) |
56292c79 RBR |
93 | - `<leader>it`, `:NotaInsertTask`, Inserts a task at cursor location. |
94 | - `<leader>ct`, `:NotaCaptureTask`, Captures a new task into the inbox. | |
95 | - `<leader>Tt`, `:NotaTagTask`, Adds a tag to the current task. | |
9e9e89d8 | 96 | - `<leader>Rt`, `:NotaRemoveTagTask`, Removes a tag from the current task. |
56292c79 RBR |
97 | - `<leader>rt`, `:NotaRescheduleTaskToday`, Reschedules the task under the cursor to today. |
98 | - `<leader>rT`, `:NotaRescheduleTaskTomorrow`, Reschedules the task under the cursor to tomorrow. | |
99 | - `<leader>rs`, `:NotaRescheduleTaskSomeday`, Reschedules the task under the cursor to someday. | |
100 | - `<leader>rr`, `:NotaRescheduleTask`, Reschedules the task under the cursor to an arbitrary date. | |
101 | ||
102 | ### Learning Handling Commands | |
103 | - `<leader>ol`, `:NotaOpenLearning`, Opens the learning file. | |
104 | - `<leader>cl`, `:NotaCaptureLearning`, Captures a new task into the inbox. | |
105 | ||
106 | ### Plan Handling Commands | |
107 | - `<leader>op`, `:NotaOpenPlan`, Opens the current plan file. | |
108 | - `<leader>cp`, `:NotaCapturePlan`, Captures a new plan and archives the current one. | |
503d09fc RBR |
109 | |
110 | [fzf-lua]: https://github.com/ibhagwan/fzf-lua |