https://github.com/hisamafahri/archive.nvim
Zettelkasten for Neovim — Smart Notes, Linked for Thought
https://github.com/hisamafahri/archive.nvim
neovim note-taking nvim plugin vim zettelkasten
Last synced: 2 months ago
JSON representation
Zettelkasten for Neovim — Smart Notes, Linked for Thought
- Host: GitHub
- URL: https://github.com/hisamafahri/archive.nvim
- Owner: hisamafahri
- License: mit
- Created: 2025-09-23T04:45:43.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2025-09-23T04:54:55.000Z (9 months ago)
- Last Synced: 2025-09-23T06:25:44.172Z (9 months ago)
- Topics: neovim, note-taking, nvim, plugin, vim, zettelkasten
- Language: Lua
- Homepage:
- Size: 7.81 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# archive.nvim
Intelligent notes with wikilink support and autocomplete. Heavily inspired by [The Archive](https://zettelkasten.de/the-archive/) app.
## Features
- Create timestamped markdown notes with unique IDs
- Wikilink autocomplete with `nvim-cmp` integration
- Navigate between notes using wikilinks (`[[Note Title]]`) and markdown syntax links (`[text](url)`)
- Automatic note creation
- Open URLs in default browser
## Requirements
- [ripgrep](https://github.com/BurntSushi/ripgrep) (required for file searching)
- [nvim-cmp](https://github.com/hrsh7th/nvim-cmp) (optional, for autocomplete)
## Installation
### vim-plug
```vim
Plug 'hisamafahri/archive.nvim'
```
### dein.vim
```vim
call dein#add('hisamafahri/archive.nvim')
```
### packer.nvim
```lua
use 'hisamafahri/archive.nvim'
```
### lazy.nvim
```lua
{
'hisamafahri/archive.nvim',
config = function()
require('archive').setup({
workspace = '~/notes' -- Required: path to your notes directory
})
end
}
```
## Configuration
### Basic Setup
```lua
require('archive').setup({
workspace = '~/notes' -- Required: path to your notes directory
})
```
### With nvim-cmp Integration
```lua
-- Setup archive.nvim
require('archive').setup({
workspace = '~/notes'
})
-- Add to your nvim-cmp sources
require('cmp').setup({
sources = {
{ name = 'archive_wikilink' },
-- your other sources...
}
})
```
## Usage
### Available Commands
- `:Archive new` - Create a new note with user input title
- `:Archive go_to_link` - Navigate to link under cursor
### Keybindings
Add these to your Neovim configuration:
```lua
-- Create new note
vim.keymap.set('n', 'an', ':Archive new', { desc = 'Create new note' })
-- Navigate to link under cursor
vim.keymap.set('n', 'ag', ':Archive go_to_link', { desc = 'Go to link under cursor' })
```