A simple Git/Hg tui client focused on keyboard shortcuts
This project uses Cargo and pure Rust stable so it should work on Windows, Mac and Linux.
It depends on: - crossterm - ctrlc - rustyline
You can either install it via cargo
or download the binaries from github releases.
If you go the cargo
route, you can install it using rustup.
In a terminal, run this command to install verco
:
cargo install verco
You'll be able to open verco
from whichever directory you in.
In a terminal in a repository folder, run the verco
command.
It will launch verco
's tui and you'll be able to interface with git/hg.
Key Sequence | Command --- | --- h | help q | quit s | status ll | log lc | log count dd | current diff all ds | current diff selected DC | revision changes DD | revision diff all DS | revision diff selected cc | commit all cs | commit selected m | merge RA | revert all rs | revert selected rr | list unresolved conflicts ro | resolve taking other rl | resolve taking local f | fetch p | pull P | push tn | new tag bb | list branches bn | new branch bd | delete branch x | custom command
Key Sequence | Command --- | --- ctrl+j, ctrl+n, arrow down | move down one line ctrl+k, ctrl+p, arrow up | move up one line ctrl+d, page down | move down half page ctrl+u, page up | move up half page ctrl+e | go to end ctrl+b, ctrl+g | go to beginning space | select entry (on selection mode) ctrl+c, esc | cancel
When reading a line, it uses
default keybinds.
You can create simple custom commands to run in your repository folder by placing them in the file
.verco/custom_commands.txt
in your repository root.
Each line in this file is treated as a different custom command. Until the first whitespace, the characters are treated as the keybind for the command, the next word is the command itself, and the rest are its parameters.
Example:
gv git --version
With verco
open, you can type in xgv
(x
is the custom command prefix) and it will print your git version
without leaving verco
. Use it to create build commands for example.
After running a log command at least once, you will notice some letters by its hash side. These are hash shortcuts. Say you want to quickly checkout some previous commit to see some changes. Instead of having to type its hash (or worse, using the mouse to select and copy text), you can just type its associated shortcut.
Example from verco
's history log:
* 2d76b45 (A) 2020-05-08 Matheus .. (HEAD -> master, origin/master, origin/HEAD) other keybinds in readme
* 7af4f7f (B) 2020-05-07 Matheus .. fix mercurial hash shortcuts
* 52019da (C) 2020-05-07 Matheus .. commit selected screenshot typo
* 2c17265 (D) 2020-05-07 Matheus .. remove help screenshot (it's more "future proof")
* 7f622dc (E) 2020-05-07 Matheus .. readme update with screenshots
Say we want to go back to fix mercurial hash shortcuts
, instead of typing u7af4f7f<Enter>
(u
for
update/checkout command), we can just type uB<Enter>
. What verco
does is a simple string replace, so,
for git/hg, it's as if you just had typed the full hash.