• Stars
    star
    215
  • Rank 179,632 (Top 4 %)
  • Language
    Lua
  • License
    The Unlicense
  • Created over 2 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Vim Philosophy Oriented Zettelkasten Note Taking Plugin

zettelkasten.nvim

zettelkasten.nvim is a Vim philosophy oriented Zettelkasten note taking plugin.

Using this plugin, you can:

  1. Create new notes with unique IDs (:help :ZkNew)

  2. List the places where a tag is used with :tselect tag_name or use Vim's own tag shortcuts for navigation.

  3. Use i_CTRL-X_CTRL-] to get a list of all the tags in your notes.

  4. Get a completion list of note references.

  5. Use K command to display context for a note ID.

  6. Use gf to navigate to a reference. As long as your :help path option is set correctly, this will work.

There's no separate file type for zettelkasten. Markdown file type is used to extend the functionality to make it easier to take notes.

For the most up to date information, please do :help zettelkasten.txt. I won't be updating README file for every single feature or update. You can also check out the wiki for tips and tricks on how to use zettelkasten.nvim.

Demo

Click the image for a demo.

demo

Installation

Install using your favorite plugin manager.

Configuration

See :help zettelkasten.txt for more information.

TODO

Potential ideas to implement in the future:

  • A graph view (Possible with an external CLI program.)
  • A sidebar (or preview window) to display the linked notes.
  • Telescope support. It's a popular plugin so it'd be useful but I don't use Telescope so contributions for this feature is most welcome!

Project Goals

I started the project out of a bout of excitement for having discovered the Zettelkasten note taking system. I've been looking for better ways to take notes and this system seems to fulfill my needs. Since I love Vim, and Zettelkasten is a text based system (Which is what I love the most about it), I decided to create a plugin immediately.

My goal is not to turn this into a huge thing with custom pickers, and file types, and a gazillion mapping and commands. My goal is to make use of the existing Vim options/mappings/features to extend markdown file type so it's more convenient to navigate, discover, and write.

As you can see from its initial state, the only thing you need to really know about this plugin is the :ZkNew command. Everything else can be discovered as you are flexing your usual Vim muscles (e. gf, i_CTRL-X_CTRL-], CTRL-]).

In true Vim philosophy, I also want to make it easier for people to extend this plugin to their own needs. So, all the Lua API will be nicely designed so you can interface this plugin with others (e.g Telescope.nvim) or create your own workflow easily.

Please also see :help zettelkasten.nvim-101 and :help zettelkasten-philosophy.

Related Projects

More Repositories

1

QML-Coding-Guide

A collection of good practices when writing QML code - https://doc.qt.io/qt/qtqml-index.html
502
star
2

QML-UI-Animations

QML implementations of various UI concepts by various artists
QML
317
star
3

QML-Loaders

Loading animation implementations in QML
QML
254
star
4

Everyday-QML

This is a repository in which I store my QML examples that I do (hopefully) everyday
QML
37
star
5

ofxFFmpegRecorder

A utility to record video/audio with ffmpeg
C++
34
star
6

firvish.nvim

WIP
Lua
33
star
7

ofxTextSuite

Openframeworks Text Manipulation Suite
C++
30
star
8

qutils

A set of tools to help Qt mobile development
C++
29
star
9

sekme.nvim

Simplistic chain completion plugin for Neovim
Lua
25
star
10

options.nvim

A small library to create custom options
Lua
15
star
11

QML-for-Designers

A collection of tutorials and examples tailored for designers
QML
14
star
12

QML-Cpp-Access-Speed-Test

A simple test to measure the time it takes to call a method and access a property using various methods
QML
14
star
13

ofxActionManager

A port of the action system used by Cocos2dx to openFrameworks
C++
13
star
14

dotfiles

Dotfiles for macOS and Windows
Lua
9
star
15

ofxProjectGenerator

openFrameworks project generator with support for CMake and Qmake
C++
8
star
16

ExceptionHandler

This is a class to handle unhandled exceptions in a Windows application
C++
7
star
17

QStripe

A Qt/QML wrapper for Stripe API
C++
5
star
18

Yumurta

An egg timer made with Qt/QML
QML
4
star
19

qml_widgets

C++
4
star
20

cpp-result

A C++ port of Rust's std::result
C++
4
star
21

FrozenTableView

A sample code to show how one can freeze columns in a TableView with QML
C++
4
star
22

SafariPushbulletExtension.safariextension

An extension for Safari to easily share URLs with Pushbullet
JavaScript
3
star
23

swg-python

Framework agnostic Swagger parsing library
Python
3
star
24

SharpNotes

SharpNotes is a plain text editor with extra features and is a good alternative to NotePads.
C#
3
star
25

Kinectron

A multi-threaded library to interface with Kinect v2
C++
3
star
26

SFMLUtilities

A few functions to help ease some common calculations
C++
3
star
27

furkanzmc.github.io

Personal blog
CSS
2
star
28

cpplox

C++
2
star
29

FUSense

A class to detect gestures and postures using OpenNI/NiTE.
C++
2
star
30

qml_imgui

C++
2
star
31

qtdevcon-community-driven-coding-guidelines

Presentation for QtDevCon 2022
Vue
2
star
32

nvim-cpp

C++ Neovim RPC Client
C++
2
star
33

zmcEntitySystem

zmc is an Entity System framework for games, written in C++.
C++
2
star
34

futils.nvim

Utility functions that I use for my config
Lua
1
star
35

StateManager

A simple SFML state manager
C++
1
star
36

JsonCppWrapper

A wrapper to provide a simpler interface to the libjsoncpp
C++
1
star
37

ResourceHolder

SFML Resource Holder with Physfs Support
C
1
star
38

FUKinectTool

FUKinectTool - A class to detect gestures and postures and it has some helper functions for Kinect camera functions
C#
1
star