kv is a page viewer designed for streaming data written in Ruby.
Install it yourself as:
$ gem install kv
kv requires recent Ruby and curses gem.
# View [FILE]
$ kv [OPTIONS] [FILE]
# View [URI] source code
$ kv [URI]
# View results of [CMD]
$ [CMD] | kv [OPTIONS]
# View command help
$ kv --help
Usage: kv [options]
-f following mode like "tail -f"
-n, --line-number LINE goto LINE
-N Show lines
-T, --time-stamp Enable time stamp
-e CMD Run CMD as a child process
-p, --pipe Open named pipe
-s Separation mode (tsv)
-w Watch mode: Reload on file changed
--filter-command=FILTER_COMMAND
Apply filter command
Note that --pipe
option creates a named pipe (~/.kv_pipe
or a specified file) if there is not a fifo file.
kv: A pager by Ruby Command list
?: show the help message
q: quit
# Moving
k, j, [UP], [DOWN]: move cursor (y)
h, l, [LEFT], [RIGTH]: move cursor (x)
Ctrl-U, [PAGE UP]: page up
Ctrl-D, [PAGE DOWN], [SPACE]: page down
g: Goto first line
G: Goto last line (current last line)
\d+: Goto specified line
# Loading
You can load a huge file or infinite input from a pipe.
10,000 lines ahead current line will be loaded.
If you want to load further lines the follwoing commands will help you.
F: Load remaining data or monitor a specified file and scroll forward.
Pushing any keys stops loading.
If a search string (specified by commadn "/") is specified,
stop scroll if the further input lines contains the string.
L: Toggle unlimited input mode
# Searching
/: search
When you enter a search string, you can choose
the following mode by Control key combination:
Ctrl-R: toggle Regexp mode (Ruby's regexp)
Ctrl-I: toggle ignore case mode
To clear search string, research with an empty string.
n: search next
p: search preview
f: filter mode (show only matched lines)
# Output
s: Save screen buffer to file
P: gist -p
# Child process
You can run child process using -e command line option like -e CMD
and you can send a meesage to the child process with x command.
x: send a message to the child process
# Modes
N: toggle line mode
T: toggle time stamp mode
m: toggle mouse mode
t: terminal (REPL) mode
v: vi ("vi filename +[LINE]")
H: show HTTP response header
G
is notable feature, less
doesn't have. This feature jumps to "current" last line even if the pipe source command does not close output (== input for kv). You can refresh the last line by putting any command.
Not yet.
Not yet.
Bug reports and pull requests are welcome on GitHub at https://github.com/ko1/kv.
Created by Koichi Sasada at 2020.