https://github.com/linhx/tbmk
A commands bookmark for terminal 🔖
https://github.com/linhx/tbmk
go golang terminal terminal-bookmark
Last synced: 10 months ago
JSON representation
A commands bookmark for terminal 🔖
- Host: GitHub
- URL: https://github.com/linhx/tbmk
- Owner: linhx
- License: mit
- Created: 2022-11-13T04:22:42.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2024-02-25T02:54:31.000Z (almost 2 years ago)
- Last Synced: 2024-08-02T15:31:05.979Z (over 1 year ago)
- Topics: go, golang, terminal, terminal-bookmark
- Language: Go
- Homepage:
- Size: 3.35 MB
- Stars: 331
- Watchers: 4
- Forks: 9
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Tbmk - Terminal bookmarker

A commands bookmark for shells

## Worked on
- Linux: bash, zsh, fish
- Mac: zsh
## Features
1. Bookmark manager.
2. Command placeholder. Allow to input value.
## How to use
- Press `Ctrl+T` in the shell to create an item
- Press `Tab/Shift+Tab` to switch between inputs
- Placeholder syntax: `{{name|default value}}`. name must be in `camelCase`
- Escaping Placeholder: `\{{name}}`
- Press `Ctrl+A` to select all placeholder value
- Press `Ctrl+Space` in the shell to search for items. You can type keywords before press `Ctrl+Space`
- Press `Tab/Shift+Tab, Down/Up` to select item.
- In the result screen, select an item then press `Ctrl + D` to delete it
- Override the old one by add new command with the same title
The data are stored in `~/.tbmk`. You can backup or edit it directly.
## How to install
1. Download built file on release page
2. Extract the file. e.g. /somepath/tbmk
3. Run `cd /somepath/tbmk`
4. Run `./install` (don't install by execute `/absolute-path/install`), it will appends keybinding to `~/.bashrc`, `~/.zsh` and `~/.config/fish/config.fish`
5. Restart your shell or reload config file:
- `source ~/.bashrc # bash`
- `source ~/.zshrc # zsh`
- `source ~/.config/fish/config.fish #fish`
## How to update
Just extract and override the old version's files
## Development
### Run
```shell
APP_ENV=dev go run . save
APP_ENV=dev go run . search
```
### Build
```shell
go build .
```