Ov
🎑Feature-rich terminal-based text viewer. It is a so-called terminal pager.
Install / Use
/learn @noborus/OvREADME
ov - feature rich terminal pager
<!-- markdownlint-disable MD019 MD029 MD033 MD036 MD060 -->ov is a terminal pager.

-
- 1.1. Not supported
-
- 2.1. deb package
- 2.2. rpm package
- 2.3. MacPorts (macOS)
- 2.4. Homebrew(macOS or Linux)
- 2.5. winget(windows)
- 2.6. pkg (FreeBSD)
- 2.7. Arch Linux
- 2.8. nix (nixOS, Linux, or macOS)
- 2.9. Binary
- 2.10. go install
- 2.11. Build from source
- 2.12. Completion
- 2.12.1. bash
- 2.12.2. zsh
- 2.12.3. fish
- 2.12.4. powershell
-
- 4.1. Config
- 4.2. Header
- 4.2.1. Skip
- 4.3. Vertical Header
- 4.4. Column mode
- 4.5. Header Column
- 4.6. Column rainbow mode
- 4.7. Column width
- 4.8. Wrap
- 4.9. Alternate-Rows
- 4.10. Sidebar
- 4.11. Section
- 4.11.1. section example
- 4.11.2. hide other sections
- 4.12. Multiple files
- 4.13. Follow mode
- 4.13.1. Follow name
- 4.13.2. Follow all mode
- 4.13.3. Follow section mode
- 4.13.4. Sticky Follow
- 4.14. Exec mode
- 4.15. Search
- 4.16. Caption
- 4.17. Mark
- 4.17.1. mark by pattern
- 4.17.2. Specifying a mark
- 4.18. Watch
- 4.19. Mouse support
- 4.19.1. Text Selection
- 4.19.2. Wheel scroll
- 4.19.3. Scroll Amount Configuration
- 4.19.4. Anchor and Extend Selection
- 4.20. Multi color highlight
- 4.21. Plain
- 4.22. Converter
- 4.23. Align
- 4.23.1. Shrink
- 4.23.2. Right Align
- 4.24. Jump target
- 4.25. View mode
- 4.25.1. List View Modes
- 4.26. Output on exit
- 4.27. Quit if one screen
- 4.28. Suspend
- 4.29. Edit
- 4.30. Save
- 4.31. Ruler
- 4.32. Redirect Output
-
- 8.1. Style customization
- 8.1.1. UnderlineStyle
- 8.2. Customizing the bottom status line
- 8.3. Terminal Title
- 8.3.1. Command line usage
- 8.3.2. Configuration file
- 8.3.3. Custom terminal title
- 8.4. Help and Log Documentation customization
- 8.5. Key binding customization
- 8.6. General configuration
- 8.1. Style customization
1. <a name='feature'></a>Feature
- Quickly opens files larger than memory.
- Supports fixed header lines and columns.
- Optimized for tabular text with column mode and customizable column colors.
- Fully customizable shortcut keys and styles.
- Follow mode for real-time updates (like
tail -f/tail -F). - Exec mode to display command output dynamically.
- Watch mode to monitor file changes periodically.
- Advanced search: incremental, regex, and filter functions.
- Multi-color highlighting for multiple words.
- Supports Unicode and East Asian Width characters.
- Handles compressed files (gzip, bzip2, zstd, lz4, xz).
1.1. <a name='not-supported'></a>Not supported
- Does not support syntax highlighting for file types (source code, markdown, etc.)
2. <a name='install'></a>Install
2.1. <a name='deb-package'></a>deb package
You can download the package from releases.
curl -L -O https://github.com/noborus/ov/releases/download/vx.x.x/ov_x.x.x-1_amd64.deb
sudo dpkg -i ov_x.x.x-1_amd64.deb
2.2. <a name='rpm-package'></a>rpm package
You can download the package from releases.
sudo rpm -ivh https://github.com/noborus/ov/releases/download/vx.x.x/ov_x.x.x-1_amd64.rpm
2.3. <a name='macports-(macos)'></a>MacPorts (macOS)
sudo port install ov
2.4. <a name='homebrew(macos-or-linux)'></a>Homebrew(macOS or Linux)
brew install ov
2.5. <a name='winget(windows)'></a>winget(windows)
winget install -e --id noborus.ov
2.6. <a name='pkg-(freebsd)'></a>pkg (FreeBSD)
pkg install ov
2.7. <a name='arch-linux'></a>Arch Linux
You can install ov using an AUR helper.
Choose an AUR package:
- https://aur.archlinux.org/packages/ov (build and install from latest stable source)
- https://aur.archlinux.org/packages/ov-bin (install pre-compiled binary)
- https://aur.archlinux.org/packages/ov-git (build and install from latest git commit)
2.8. <a name='nix-(nixos,-linux,-or-macos)'></a>nix (nixOS, Linux, or macOS)
ov is available as a nix package. You can install it with
nix profile install nixpkgs#ov
if you use flakes, or using nix-env otherwise:
nix-env -iA nixpkgs.ov
2.9. <a name='binary'></a>Binary
You can download the binary from releases.
curl -L -O https://github.com/noborus/ov/releases/download/vx.x.x/ov_x.x.x_linux_amd64.zip
unzip ov_x.x.x_linux_amd64.zip
sudo install ov /usr/local/bin
2.10. <a name='go-install'></a>go install
It will be installed in $GOPATH/bin by the following command.
go install github.com/noborus/ov@latest
Or to install the latest commit from master:
go install github.com/noborus/ov@master
2.11. <a name='build-from-source'></a>Build from source
First of all, clone this repo with either git clone or gh repo clone, then cd to the directory, for example:
git clone https://github.com/noborus/ov.git
cd ov
Next, to install to $GOPATH/bin, run the make install command.
make install
Or, install it in a PATH location for other users to use (For example, in /usr/local/bin).
make
sudo install ov /usr/local/bin
2.12. <a name='completion'></a>Completion
You can generate completion scripts for bash, zsh, fish, and powershell.
2.12.1. <a name='bash'></a>bash
ov --completion bash > /etc/bash_completion.d/ov
2.12.2. <a name='zsh'></a>zsh
ov --completion zsh > /usr/share/zsh/site-functions/_ov
For zinit users.
zinit load 'https://github.com/noborus/ov/blob/master/ov.plugin.zsh'
2.12.3. <a name='fish'></a>fish
ov --completion fish > ~/.config/fish/completions/ov.fish
2.12.4. <a name='powershell'></a>powershell
ov --completion powershell completion powershell | Out-String | Invoke-Expression
3. <a name='basic-usage'></a>Basic usage
ov supports open file name or standard input.
ov filename
cat filename|ov
Used by other commands by setting the environment variable PAGER.
export PAGER=ov
4. <a name='usage'></a>Usage
See the ov site for more use cases and examples.
[!NOTE] (default key
key) indicates the key that can be specified even after starting the same function as the command line option.
4.1. <a name='config'></a>Config
You can set style and key bindings in the configuration file.
ov will look for a configuration file in the following paths in descending order:
$XDG_CONFIG_HOME/ov/config.yaml
$HOME/.config/ov/config.yaml
$HOME/.ov.yaml
On Windows:
%USERPROFILE%/.config/ov/config.yaml
%USERPROFILE%/.ov.yaml
Create a config.yaml file in one of the above directories. If the file is in the user home directory, i
