Everybody who uses psql
uses less
pager. It is working well, but there is not any special
support for tabular data. I found few projects, but no one was completed for this purpose.
I decided to write some small specialized pager for usage as psql
pager.
- possibility to freeze first few rows, first few colums
- possibility to use fancy colors - like
mcview
orFoxPro
- -b black/white theme
- -X doesn't clean screen on the end
- -s N use theme (default theme is mc theme)
- -c N freeze first N columns
- -f file open file (default stdin)
- --no-mouse without own mouse handling (cannot be changed in app)
- black & white
- Midnight Commander like
- FoxPro like
- Pdmenu like
- White theme
- Mutt like
- PCFand like
- Green theme
- Blue theme
- Word Perfect like
- Low contrast blue theme
- Dark cyan/black mode
- Paradox like
- dBase IV retro style
- dBase IV retro style (Magenta labels)
- 0, 1, 2, 3, 4 - freeze first N columns
- KEY_UP, k - navigate backward by one line
- KEY_DOWN, j - navigate forward by one line
- KEY_LEFT, h - scroll to left
- KEY_RIGHT, l - scroll to right
- Ctrl Home, g - go to the start of file
- Ctrl End, G - go to the end of file
- H - go to first line of current window
- M - go to half of current window
- L - go to end of current window
- PPAGE, Ctrl B - backward one window
- NPAGE, Ctrl F, space - forward one window
- HOME, ^ - go to begin of line, first column
- END, $ - go to end of line, last column
- Ctrl E - scroll a window down
- Ctrl Y - scroll a window up
- Ctrl D - forwad a half window
- Ctrl U - backward a hald window
- s - save content to file
- / - search for a pattern which will take you to the next occurrence
- ? - search for a pattern which will take you to the previous occurrence
- n - for next match in backward direction
- N - for previous match in forward direction
- Alt M - switch (on, off) own mouse handler
- Mouse button wheel - scroll vertical
- Alt Mouse button wheel - scroll horizontal
- q, F10, Esc Esc, Esc 0 - quit
- linestyle unicode
- border 2
Some linker issues can be fixed by:
I changed gcc -lncursesw pager.c -o pspg -ggdb to gcc pager.c -o pspg -ggdb -lncursesw
If you like it, send a postcard from your home country to my address, please:
Pavel Stehule
Skalice 12
256 01 Benesov u Prahy
Czech Republic
I invite any questions, comments, bug reports, patches on mail address [email protected]