Files
vim-denote/doc/denote.txt

105 lines
3.8 KiB
Plaintext

*denote.txt* For Vim version 9.0. Last change: 2026 Feb 18
This is the documentation for the denote plugin.
==============================================================================
CONTENTS *denote.vim* *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 and
|'includeexpr'| option for following the links (see, |gf|). This plugin also
provides custom location-list formatting using the option
|'quickfixtextfunc'|.
*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: