108 lines
4.0 KiB
Plaintext
108 lines
4.0 KiB
Plaintext
*denote.txt* For Vim version 9.0. Last change: 2026 Feb 18
|
|
|
|
This is the documentation for the denote plugin.
|
|
|
|
==============================================================================
|
|
CONTENTS *vim-denote* *denote*
|
|
|
|
1. Introduction |denote-intro|
|
|
2. Commands |denote-commands|
|
|
3. Settings |denote-settings|
|
|
4. Mappings |denote-mappings|
|
|
|
|
==============================================================================
|
|
*denote-intro*
|
|
Introduction ~
|
|
|
|
Denote is a file-naming scheme developed by Protesilaos Stavrou and an Emacs
|
|
tool for handling such files. Notes and other files that follow this scheme
|
|
can be linked, and the links are preserved even when the files are renamed due
|
|
do adjusting the tags or changing the title of a note. The official manual is
|
|
available online:
|
|
https://protesilaos.com/emacs/denote
|
|
|
|
The denote plugin adds denote functionality to vim --- the vim way. We are
|
|
aware of two other plugins, but we fear that these plugins are not flexible
|
|
enough, and more importantly, do not follow the vim philosophy for handling
|
|
denote notes. These mentioned plugins are available here:
|
|
https://github.com/shuckster/denote-md
|
|
https://git.sr.ht/~ashton314/vim-denote
|
|
|
|
In contrast to these plugins, the present package relies on the
|
|
|location-list| features for displaying denote entries, and on the options
|
|
|'quickfixtextfunc'|, |'includeexpr'|, and |'omnifunc'|. With these, denote
|
|
links can be followed using |gf|, and completed using omni comletion (see,
|
|
|compl-omni|). For link completion, press |i_CTRL-X_CTRL-O| after typing any
|
|
prefix of a denote link. This completion also works with titles: by invoking
|
|
omni completion after typing "denote:foo", denote links are completed for
|
|
entries containing "foo" in the title.
|
|
|
|
*denote-commands*
|
|
Commands ~
|
|
*:Denote*
|
|
Populate the location list of the current window with the denote entries
|
|
present in the current directory. This command may be supplemented with any
|
|
number of arguments that filter the entries.
|
|
|
|
*:DenoteTag*
|
|
This command takes as argument a tag, and populates the location list with all
|
|
denote entries of that are tagged accordingly. The tags are autocompleted
|
|
(see, |c_<Tab>|).
|
|
|
|
*:DenoteGrep*
|
|
This command is a wrapper around |:lvimgrep| to search for a pattern in the
|
|
denote entries. The required argument is a pattern as required by |:vimgrep|,
|
|
i.e., /{pattern}/[g][j][f].
|
|
|
|
*:DenoteNew*
|
|
This command takes as argument a note title, and generates a new denote entry
|
|
with the specified title. The entry file type is controlled by the setting
|
|
|g:denote_new_ft|.
|
|
|
|
*:DenoteBackReferences*
|
|
When called from an opened denote entry, this command populates the location
|
|
list with all references to the current note.
|
|
|
|
*denote-settings*
|
|
Settings ~
|
|
*g:denote_note_file_extension*
|
|
With this setting you may specify the file extensions of all denote entries
|
|
within which |:DenoteGrep| will search for the provided pattern. If left
|
|
unspecified, it is set to the following default value:
|
|
>
|
|
g:denote_note_file_extension = ['md', 'org', 'txt']
|
|
<
|
|
*g:denote_loc_title_columns*
|
|
This integer specifies the number of columns used to display the titles of
|
|
denote entries. Per default, it is set to:
|
|
>
|
|
g:denote_loc_title_columns = 60
|
|
<
|
|
*g:denote_new_ft*
|
|
Newly created notes are of this file type. Possible values are 'md', 'org', or
|
|
'txt', with the following default:
|
|
>
|
|
g:denote_new_ft = 'md'
|
|
<
|
|
*g:denote_fm_md_type*
|
|
The front matter of 'md' notes is given as 'yaml' or as 'toml'. By default,
|
|
this package uses 'yaml':
|
|
>
|
|
g:denote_fm_md_type = 'yaml'
|
|
<
|
|
*g:denote_identifier_fun*
|
|
Denote allows the use of custom identifiers. This variable, if set, points to
|
|
a function that generates identifiers for newly created notes. The function is
|
|
supposed to return a unique string.
|
|
|
|
*denote-mappings*
|
|
Mappings ~
|
|
|
|
<Plug>DenoteList "Populate and open the location list with all
|
|
denote entries".
|
|
|
|
<Plug>DenoteBackReferences "Populate and open the location list with all
|
|
denote entries that link to the currently opened one".
|
|
|
|
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
|