I’d say vi is in a fuzzy grey area below a tui. It’s more than a cli but shares a lot with cli programs; it pretty much has its own command line built in. At the same time it has nothing like dialog box or menus like normal tui programs.
Personally, I feel that if it uses control characters to update the screen in previous positions, altering the scroll buffer, moving beyond where the cursor is and redrawing the screen, then it’s a TUI.
CLI programs only output plain text in a stream, using just control characters for coloring and formatting, and if they do any re-drawing it’s only for the current line (eg. progressbars and so).
So… even something like less is a TUI program… but things like more or sed would be CLI programs.
I’d say vi is in a fuzzy grey area below a tui. It’s more than a cli but shares a lot with cli programs; it pretty much has its own command line built in. At the same time it has nothing like dialog box or menus like normal tui programs.
Personally, I feel that if it uses control characters to update the screen in previous positions, altering the scroll buffer, moving beyond where the cursor is and redrawing the screen, then it’s a TUI.
CLI programs only output plain text in a stream, using just control characters for coloring and formatting, and if they do any re-drawing it’s only for the current line (eg. progressbars and so).
So… even something like
lessis a TUI program… but things likemoreorsedwould be CLI programs.Fair enough. I’d never consider less to be a TUI program.