# experimental non-visual mode

TF 5.0 beta 5 has a new experimental non-visual mode ("expnonvis") that fixes design flaws in traditional non-visual mode. I may get rid of traditional non-visual mode in the future, so if you use it, I suggest you try expnonvis mode now and let me know if you don't like it. To enable expnonvis mode, "`/set expnonvis=on`" and "`/set visual=off`". You may also want to "`/set kecho=on`" (see below).

In the new expnonvis mode, input is only ever visible on the bottom line. It scrolls your input buffer left and right as needed to display the part of the input buffer in the neighborhood of the cursor. The part of the line that is "off the left edge" of the screen is simply not visible. In traditional non-visual mode, that part of the line would scroll up, polluting the output region with partial input lines.

The "only on bottom line" rule applies even when you hit return to execute the input line. Your input is erased, and the command is executed; it does not scroll up. If you want to see the input text scroll up, you can "`/set kecho=on`"; this will print the entire input, not just the last segment of it that fit within the screen width. You may also want to set %kecho_attr so that the echoed input is easily distinguishable from regular output.

The minimum amount of scrolling is determined by the %sidescroll variable, which defaults to 1. For slow terminals, you may wish to increase this. Any movement that would exceed half the screen width does not use the terminal's scrolling, but instead redraws the line.

The current implementation may have bugs in choosing the right distance to scroll, but as far as I know the display will never appear incorrect. But if it ever does, use ^L to redraw it. Terminals without the delete character capability are not yet supported, but will be in the future.

Back to index
Back to tf home page

Copyright © 2004 Ken Keys