All Projects → KevinBockelandt → notoire

KevinBockelandt / notoire

Licence: MIT license
A vim plugin to take notes using the Zettelkasten method

Programming Languages

Vim Script
2826 projects

Projects that are alternatives of or similar to notoire

Foam
A personal knowledge management and sharing system for VSCode
Stars: ✭ 10,993 (+20641.51%)
Mutual labels:  note-taking, zettelkasten
hugo-documentation-theme
📖 Project Docs / Knowledge Base template for Hugo Website Builder. 创建项目文档
Stars: ✭ 101 (+90.57%)
Mutual labels:  note-taking, zettelkasten
osmosnote
The knowledge IDE
Stars: ✭ 69 (+30.19%)
Mutual labels:  note-taking, zettelkasten
keep-it-markdown
Convert Google Keep notes dynamically to markdown for Obsidian and Notion using the unofficial Keep API
Stars: ✭ 125 (+135.85%)
Mutual labels:  note-taking, zettelkasten
zk
A note-taking tool based on the famous Zettelkasten method
Stars: ✭ 41 (-22.64%)
Mutual labels:  note-taking, zettelkasten
zettelstore
This is a mirror of https://zettelstore.de
Stars: ✭ 16 (-69.81%)
Mutual labels:  note-taking, zettelkasten
hyperdraft
Turn your notes into a website.
Stars: ✭ 59 (+11.32%)
Mutual labels:  note-taking, zettelkasten
Nb
CLI and local web plain text note‑taking, bookmarking, and archiving with linking, tagging, filtering, search, Git versioning & syncing, Pandoc conversion, + more, in a single portable script.
Stars: ✭ 3,846 (+7156.6%)
Mutual labels:  note-taking, zettelkasten
Notational Fzf Vim
Notational velocity for vim.
Stars: ✭ 975 (+1739.62%)
Mutual labels:  vim-plugin, note-taking
ime.vim
A Vim input method engine
Stars: ✭ 74 (+39.62%)
Mutual labels:  vim-plugin
vim
个人私用的vim配置
Stars: ✭ 12 (-77.36%)
Mutual labels:  vim-plugin
vim-viler
Editable file explorer for Vim
Stars: ✭ 24 (-54.72%)
Mutual labels:  vim-plugin
bash-support
Edit Bash scripts in Vim/gVim. Insert code snippets, run, check, and debug the code and look up help.
Stars: ✭ 76 (+43.4%)
Mutual labels:  vim-plugin
vim-multiselect
A library plugin to handle multiple visual selections
Stars: ✭ 27 (-49.06%)
Mutual labels:  vim-plugin
Extract
👻 Neovim yank ring plugin with completion for registers, ring, pinning, and replacing with register.
Stars: ✭ 39 (-26.42%)
Mutual labels:  vim-plugin
perl-support
Edit Perl scripts in Vim/gVim. Insert code snippets, run, check, and profile the code and look up help.
Stars: ✭ 23 (-56.6%)
Mutual labels:  vim-plugin
notes
Simple text editor for your Markdown and LaTeX notes.
Stars: ✭ 24 (-54.72%)
Mutual labels:  note-taking
hlyank.vim
Highlight yanked text in Vim
Stars: ✭ 14 (-73.58%)
Mutual labels:  vim-plugin
doorboy.vim
Vim plugin for auto closing brackets ( => (|) and quotations " => "|" , and more
Stars: ✭ 19 (-64.15%)
Mutual labels:  vim-plugin
vim-strip-trailing-whitespace
🎞️ Vim plugin that removes trailing whitespace from *modified* lines on save
Stars: ✭ 66 (+24.53%)
Mutual labels:  vim-plugin

Notoire

⚠️ The plugin is not compatible with Windows systems. It has been successfuly tested on GNU/Linux and MacOS.

Introduction | Installation | Commands | Setup | Contributing

Introduction

You could roughly describe a Zettelkasten as being an external brain. It is a network of notes where each note contains an idea. You can search it, expand it, make new connections, etc. For more details on the concept I recommend checking out:

visual example

In Notoire, the notes are stored in plain text files and interpreted as Markdown. They are identified by an hexadecimal number incremented from one note to the next. There is no hierarchy as notes are connected only by links. You can navigate to and between them via a number of ways:

  • by following a link to open the corresponding note
  • by going back to the previous note using an history system
  • by performing a search and selecting a note in the result list
  • by listing the links coming in or out of the current note and selecting one

The name of the plugin comes from the French word notoire which can be translated in several ways including notable and noteworthy. Based on a number of French words ending in 'oire', one could also interpret the meaning of notoire as a place where to put notes.

You can also have several Zettelkasten (called folders in this plugin) set up if you want to take notes on wildly different topics. You then switch from one to another with the :NotoireSelectFolder command.

Installation

Notoire follows the traditional vim plugin layout, so you should have no trouble installing it with your plugin manager of choice. Using vim-plug, add the following line in you vim-plug configuration:

Plug 'KevinBockelandt/notoire'

Then run :PlugInstall.

Dependencies

In order to use all the features of Notoire you need two other tools installed on your machine:

  • FZF in order to present search results
  • ripgrep to perform efficient searches on notes

FZF can be easily installed by vim-plug as well . Ripgrep can be installed via a number of ways including cargo if you are a Rust developper.

Commands

:NotoireSelectFolder --------- | Select the folder to use
:NotoireOpenIndex ------------ | Open the index note
:NotoireOpenLink ------------- | Open link under cursor
:NotoirePrevNote ------------- | Go back to the previously opened note
:NotoireCreateNote ----------- | Create a new note from visual selection and place link
:NotoireCreateEmptyNote ------ | Create a new empty note
:NotoireCreateLink ----------- | Create a link to a new or existing note using visual selection as text link
:NotoireCreateEmptyLink ------ | Create a link with empty text to a new or existing note
:NotoireNextLink ------------- | Go to the next link in the note
:NotoirePrevLink ------------- | Go to the previous link in the note 
:NotoireSearchNotes ---------- | Interactively search for a note or create a new one
:NotoireSearchLinksInNote ---- | Interactively search among all links present in the current note and open one
:NotoireSearchOrphanNotes ---- | Interactively search among notes that are not referenced in any link anywhere
:NotoireSearchNotesLinkingHere | Interactively search among notes that
  • :NotoireNextLink and :NotoirePrevLink can be prefixed by a number to repeat the operation, like a regular vim navigation shortcut. Please be careful to use the proper mapping.
  • Every command that opens a new buffer also have a version to open that buffer in a split. See the documentation for more details.

Setup

You need to define the option g:notoire_folders which indicates the list of paths to the folders where the notes should be kept. It's usually a good idea to use folders that will be backed up automatically somehow. Ex:

let g:notoire_folders = ['~/Dropbox/notes/myZettelkasten', '~/Dropbox/notes/anotherOne']

Notoire provides the following mapping by default:

nnoremap <Leader>l :<C-U>NotoireNextLink(v:count1)<cr>
nnoremap <Leader>h :<C-U>NotoirePrevLink(v:count1)<cr>

nnoremap <Leader>f :NotoireSelectFolder<cr>
 
nnoremap <Leader>j :NotoireOpenLink<cr>
nnoremap <Leader>sj :NotoireOpenLinkS<cr>
nnoremap <Leader>vj :NotoireOpenLinkVS<cr>

nnoremap <Leader>m :NotoireCreateEmptyLink<cr>
nnoremap <Leader>sm :NotoireCreateEmptyLinkS<cr>
nnoremap <Leader>vm :NotoireCreateEmptyLinkVS<cr>

vnoremap <Leader>m :<C-U>NotoireCreateLink<cr>
vnoremap <Leader>sm :<C-U>NotoireCreateLinkS<cr>
vnoremap <Leader>vm :<C-U>NotoireCreateLinkVS<cr>

nnoremap <Leader>n :NotoireCreateEmptyNote<cr>
nnoremap <Leader>sn :NotoireCreateEmptyNoteS<cr>
nnoremap <Leader>vn :NotoireCreateEmptyNoteVS<cr>

vnoremap <Leader>n :<C-U>NotoireCreateNote<cr>
vnoremap <Leader>sn :<C-U>NotoireCreateNoteS<cr>
vnoremap <Leader>vn :<C-U>NotoireCreateNoteVS<cr>

nnoremap <Leader>k :NotoirePrevNote<cr>
nnoremap <Leader>sk :NotoirePrevNoteS<cr>
nnoremap <Leader>vk :NotoirePrevNoteVS<cr>

nnoremap <Leader>u :NotoireSearchNotes<cr>
nnoremap <Leader>su :NotoireSearchNotesS<cr>
nnoremap <Leader>vu :NotoireSearchNotesVS<cr>

nnoremap <Leader>o :NotoireSearchLinksInNote<cr>
nnoremap <Leader>so :NotoireSearchLinksInNoteS<cr>
nnoremap <Leader>vo :NotoireSearchLinksInNoteVS<cr>

nnoremap <Leader>y :NotoireSearchNotesLinkingHere<cr>
nnoremap <Leader>sy :NotoireSearchNotesLinkingHereS<cr>
nnoremap <Leader>vy :NotoireSearchNotesLinkingHereVS<cr>

nnoremap <Leader>i :NotoireSearchOrphanNotes<cr>
nnoremap <Leader>si :NotoireSearchOrphanNotesS<cr>
nnoremap <Leader>vi :NotoireSearchOrphanNotesVS<cr>

nnoremap <Leader><Tab> :NotoireOpenIndex<cr>
nnoremap <Leader>s<Tab> :NotoireOpenIndexS<cr>
nnoremap <Leader>v<Tab> :NotoireOpenIndexVS<cr>

Here is a diagram to help you see how it looks on a keyboard:

diagram hotkeys

If you wish for the plugin not to setup default mapping (to avoid conflict for exemple), you can use the g:notoire_user_mapping. It is then up to you to provide the mapping you want.

let g:notoire_user_mapping = 1

See the documentation for an exhaustive list of configuration options.

Contributing

We are very much open to feedback! If you want to submit an idea for improvement or report a bug you've encountered, you can open an issue.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].