HeyNoterm
HeyNoterm is a scratch pad for the terminal, designed to help you quickly jot down notes, commands, and ideas while working in the command line.
What is HeyNoterm?
- A minimalistic, terminal-based scratch pad.
- Organize your thoughts in discrete blocks of text.
- Syntax highlighting for code snippets (Python, Markdown, etc.).
- Math evaluation mode for quick calculations.
- Persistent JSON storage (saved by default to
~/.heynoterm.json; see Custom State File Location below) so your notes survive restarts. - Context-aware block operations: add, delete, move, split, and change language on the fly.
- Dark-mode toggle and on-screen help overlay.
Features
- Add new blocks (
Ctrl+N), delete blocks (Ctrl+D), split blocks (Ctrl+T). - Navigate between blocks (
Ctrl+J/Ctrl+K). - Change block language (
Ctrl+L): Python, Markdown, Math. - Real-time math evaluation in math mode.
- Persistent storage of all blocks in a state file, by default
~/.heynoterm.json.
- On-screen help (
Ctrl+/) listing all keybindings.
Installation
We recommend using uv to install and manage HeyNoterm, but you can also use uvx, pipx, or pip. Homebrew is not supported.
-
Using uv (recommended)
uv install heynoterm
-
Using uvx
uvx heynoterm -
Using pipx
pipx install heynoterm
-
Using pip
pip install heynoterm
After installation, run HeyNoterm with:
heynoterm
# or via uv:
uv heynoterm
# or via uvx:
uvx heynoterm
Usage
- Launch the app:
heynoterm - Type freely to add content in the current block.
- Use keybindings to manage blocks and switch modes.
- Press
Ctrl+Cto exit.
All your blocks are automatically saved to a state file (by default ~/.heynoterm.json). See Custom State File Location below to change the storage location.
Custom State File Location
By default, HeyNoterm stores its state in ~/.heynoterm.json. You can override this behavior using command-line options:
-l,--local: Use./.heynoterm.jsonin the current working directory.-s <path>,--state <path>: Specify a custom path for the state file.
Examples:
heynoterm -l
heynoterm --state /path/to/my_notes.json
If you install via uvx, pass options after --:
uvx heynoterm -- -l
uvx heynoterm -- --state /path/to/my_notes.json
Contributing
Contributions are welcome! Please open an issue or submit a pull request on the HeyNoterm GitHub repository.
License
TBD
Metadata
Release files for heynoterm 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| heynoterm-0.2.1.tar.gz | 92.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| heynoterm-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 104.7 kB
Release files / heynoterm-0.2.1.tar.gz
| Download URL | heynoterm-0.2.1.tar.gz |
|---|---|
| Size | 92.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2ba9f4e267b05053218eda17b036bfcce8e18f567a5f10629cde13f1b7891b60
|
|
BLAKE2b-256 checksum How to use checksums |
7adfd6597ea20f18f030f27217ef2f9486dd0facc089ebf3f2571e9b1aa90483
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.14
|
Release files / heynoterm-0.2.1-py3-none-any.whl
| Download URL | heynoterm-0.2.1-py3-none-any.whl |
|---|---|
| Size | 12.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
643b0bfdefe38f7bc808183cf9bc67a4815be90490691499a10e6c39460e9a5a
|
|
BLAKE2b-256 checksum How to use checksums |
5de15459d86628a120dcd7a4f032c374c5bf20181a0fba99ac8105bd8719bff5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.14
|