Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aperezdc/zsh-notes
Quick selection widget for Markdown notes, inspired by terminal_velocity
https://github.com/aperezdc/zsh-notes
notes-tool plugin zsh
Last synced: 11 days ago
JSON representation
Quick selection widget for Markdown notes, inspired by terminal_velocity
- Host: GitHub
- URL: https://github.com/aperezdc/zsh-notes
- Owner: aperezdc
- Created: 2018-06-28T11:04:04.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-07-02T08:14:57.000Z (over 4 years ago)
- Last Synced: 2024-10-11T02:48:00.247Z (27 days ago)
- Topics: notes-tool, plugin, zsh
- Language: Shell
- Size: 13.7 KB
- Stars: 11
- Watchers: 4
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# zsh-notes
zsh-notes is a [zsh](http://www.zsh.org/) plugin inspired by
[terminal_velocity](https:/A/www.seanh.cc/terminal_velocity/). It provides a
fast interface to create and access a set of
[Markdown](https://en.wikipedia.org/wiki/Markdown) text files inside a
directory.- [fzf](https://github.com/junegunn/fzf) is used for locating files. It
will be searched in `${PATH}`.
- `${EDITOR}` is launched to view and edit files. Like most tools do,
`${VISUAL}` will be tried as well, with `vi` as last fallback.The plugin defines one Zle widgets:
- `notes-edit-widget`: Opens the file selector, and invokes the text
editor on the selected file or creates a new one. The input buffer is
left untouched.the following functions:
- `notes-home`: Prints the directory where Markdown file are stored.
- `notes-list-files`: Prints a list of absolute paths to all the files
contained in the directory returned by `notes-home`.
- `notes-list`: Prints a list of names (sans the `.md` suffix) for all
the files listed by `notes-list-files`, with the prefix directory
returned by `notes-home` removed.
- `notes-pick-fzf`: Opens a file selector, and prints the chosen item
to standard output.In the file selector, the usual `fzf` key bindings apply, plus the following
additional ones:- `Ctrl-N`: Creates a new file named after the query string, regardless
of whether it matches files or not.- `Tab`: Toggle the preview panel.
## Installation
The plugin can be installed manually by obtaining a copy and sourcing it.
It is recommended to use a plugin manager, e.g. when using
[zplug](https://github.com/zplug/zplug):```sh
zplug aperezdc/zsh-notes
```## Configuration
By default the widgets defined by the plugin are not bound. A typical
configuration could be:```sh
# Ctrl-N: Open the notes selector.
bindkey '^N' notes-edit-widget
```Additional configuration is done using Zsh styles. The following lists
the available styles and their defaults:```sh
# If unset, ~/Notes is used as default.
zstyle :notes home ''# When set, exits the notes widget after one use.
zstyle :notes:widget once no# Choose the picker used by the widget. Supported values: fzf, skim, fzy.
zstyle :notes:widget picker fzf
```When using `fzf` or `skim` it's possible to show a side panel with a preview
of the notes. The `cat` command is used by default, but any program that can
render Markdown to ANSI terminal escapes should do (for example
[mdcat](https://github.com/lunaryorn/mdcat) and
[lowdown](https://kristaps.bsd.lv/lowdown/) are known to work well):```sh
# Enable preview panel. Disabled by default.
zstyle :notes:widget:preview enabled yes# The default is "cat", but can be any command that renders to ANSI escapes:
zstyle :notes:widget:preview command lowdown -Tterm# Alternative using mdcat:
zstyle :notes:widget:preview command mdcat -l
```