Skip to content

ko1/kv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kv: A page viewer written in Ruby

kv is a page viewer designed for streaming data written in Ruby.

Installation

Install it yourself as:

$ gem install kv 

kv requires recent Ruby and curses gem.

Use kv

# 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.

Command on a pager

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.

Mouse mode

Not yet.

Terminal (REPL) mode

Not yet.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/ko1/kv.

Credit

Created by Koichi Sasada at 2020.

About

kv: A page viewer written in Ruby

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

 
 
 

Contributors

Languages