# zhobo
![](https://github.com/kyoto7250/zhobo/workflows/CI/badge.svg)
![](https://github.com/kyoto7250/zhobo/workflows/Release/badge.svg)
`zhobo` is the rebaked [gobang project](https://github.com/TaKO8Ki/gobang).
## Features
- Cross-platform support (macOS, Windows, Linux)
- Multiple Database support (MySQL, PostgreSQL, SQLite)
- Intuitive keyboard only control
## Additional Features
- [x] custom keymap.
- [x] support unix domain.
- [x] sort based on specific columns.
## installation
## homebrew
## cargo
```bash
cargo install zhobo
```
## default keymap
| Key | Description |
| ---- | ---- |
| h, j, k, l | Scroll left/down/up/right |
| Ctrl + u, Ctrl + d | Scroll up/down multiple lines |
| g , G | Scroll to top/bottom |
| ^, $ | Move to head/tail of line |
| s | Sort by selected column |
| H, J, K, L | Extend selection by one cell left/down/up/right |
| V | Extend selection by horizontal line |
| y | Copy a cell value |
| ←, → | Move focus to left/right |
| c | Move focus to connections |
| / | Filter |
| ? | Help |
| 1, 2, 3, 4, 5 | Switch to records/columns/constraints/foreign keys/indexes tab |
| Esc | Hide pop up |
## configuration
### connection
The location of the file depends on your OS:
- macOS: `$HOME/.config/zhobo/config.toml`
- Linux: `$HOME/.config/zhobo/config.toml`
- Windows: `%APPDATA%/zhobo/config.toml`
Sample config.toml file is `examples/config.toml`:
### custom keymap
The location of the file depends on your OS:
- macOS: `$HOME/.config/zhobo/key_bind.ron`
- Linux: `$HOME/.config/zhobo/key_bind.ron`
- Windows: `%APPDATA%/zhobo/key_bind.ron`
Sample config.toml file is `examples/key_bind.ron`:
## contribution
Contributions are welcome.
If you are developing a new feature, we recommend creating an issue first.
## acknowledge
Most of the code in this project was ported from [gobang](https://github.com/TaKO8Ki/gobang), and we would like to express our deepest gratitude to the original author, [@Tako8ki](https://github.com/TaKO8Ki).