# Viddy
Modern `watch` command. Viddy well, gopher. Viddy well. ## Demo
## Features * Basic features of original watch command. * Execute command periodically, and display the result. * color output. * diff highlight. * Time machine mode. 😎 * Rewind like video. * Go to the past, and back to the future. * Look back history. * Save and load history. * See output in pager. * Vim like keymaps. * Search text. * Suspend and restart execution. * Support shell alias * See detail https://github.com/sachaos/viddy/issues/2#issuecomment-904002053 * Customize keymappings. * Customize color. ## Install ### Cargo ```shell cargo install viddy ``` ### [Homebrew](https://brew.sh) ```shell brew install viddy ``` ### Linux ```shell wget -O viddy.tar.gz https://github.com/sachaos/viddy/releases/download/v1.3.0/viddy-v1.3.0-linux-x86_64.tar.gz && tar xvf viddy.tar.gz && mv viddy /usr/local/bin ``` ### Other Download from [release page](https://github.com/sachaos/viddy/releases). ## Install with Other Package Managers (Community-Maintained) ### [MacPorts](https://www.macports.org) ```shell sudo port install viddy ``` ### [Scoop](https://scoop.sh/) To install Viddy on Windows, first install the Scoop package manager, and then run the commands below. **NOTE**: The git package is required in order to add additional Scoop "buckets". ``` scoop install git scoop bucket add extras scoop install extras/viddy ``` ### ArchLinux ( AUR ) ```shell yay -S viddy ``` Alternatively you can use the [AUR Git repo](https://aur.archlinux.org/packages/viddy/) directly ### Alpine Linux After [enabling the community repository](https://wiki.alpinelinux.org/wiki/Enable_Community_Repository): ```shell apk add viddy ``` ### [asdf version manager](https://asdf-vm.com) ```shell asdf plugin add viddy asdf install viddy latest asdf global viddy latest ``` ## Keymaps | key | | |-----------|--------------------------------------------| | SPACE | Toggle time machine mode | | s | Toggle suspend execution | | b | Toggle ring terminal bell | | d | Toggle diff | | t | Toggle header/title display | | ? | Toggle help view | | / | Search text | | j | Pager: next line | | k | Pager: previous line | | h | Pager: move left | | l | Pager: move right | | Control-F | Pager: page down | | Control-B | Pager: page up | | g | Pager: go to top of page | | Shift-G | Pager: go to bottom of page | | Shift-J | (Time machine mode) Go to the past | | Shift-K | (Time machine mode) Back to the future | | Shift-F | (Time machine mode) Go to more past | | Shift-B | (Time machine mode) Back to more future | | Shift-O | (Time machine mode) Go to oldest position | | Shift-N | (Time machine mode) Go to current position | ## Configuration Viddy can be used without any configuration. However, if you want to customize the keybindings or default behavior, you can do so. Install your config file on `$XDG_CONFIG_HOME/viddy.toml` On macOS, the path is `~/Library/Application\ Support/viddy.toml`. ```toml [general] no_shell = false shell = "zsh" shell_options = "" skip_empty_diffs = false disable_mouse = true [keymap] timemachine_go_to_past = "Down" timemachine_go_to_more_past = "Shift-Down" timemachine_go_to_future = "Up" timemachine_go_to_more_future = "Shift-Up" timemachine_go_to_now = "Ctrl-Shift-Up" timemachine_go_to_oldest = "Ctrl-Shift-Down" scroll_left = "h" scroll_right = "l" scroll_up = "k" scroll_down = "j" scroll_half_page_up = "Ctrl-u" scroll_half_page_down = "Ctrl-d" scroll_page_up = "Ctrl-b" scroll_page_down = "Ctrl-f" scroll_bottom_of_page = "Shift-g" scroll_top_of_page = "g g" [color] background = "white" # Default value is inherit from terminal color. ``` ## What is "viddy" ? "viddy" is Nadsat word meaning to see. Nadsat is fictional argot of gangs in the violent book and movie "A Clockwork Orange". ## Credits The gopher's logo of viddy is licensed under the Creative Commons 3.0 Attributions license. The original Go gopher was designed by [Renee French](https://reneefrench.blogspot.com/).