This is actually a very simple thing, but it's a bit difficult to explain ...
Currently I have set the options -left and -right both to the value 8. Actually I was hoping that this would cause scrolling to be performed in steps of 8, i.e. the content would be positioned on a multiple of 8 columns inside the window, so the content is aligned with tab stops (assuming that tab stops are set at the default of 8).
Unfortunately, that is not what really happens. Lets take an example: My window is 80 columns wide, and the cursor is at the beginning of a line that contains 90 characters. Now, when I press the <end> key, the cursor is on column 91, and my -left/-right setting causes to scroll the content so the cursor is 8 columns from the right window border, so the content ends up being scrolled by 19 character positions. What I really want is to scroll the content by multiples of 8, so that would be 16 in this example.</end>
In other words: I would like to have a way to specify that horizontal scrolling should ALWAYS happen in multiples of 8 characters. Maybe this could be implemented by specifying a negative number (e.g. -8) with the -left and -right options.
PS: I considered writing a macro for the <end> key to to handle horizontal scrolling the way I want. However, that doesn't seem to be possible, because there is no "left" variable (analogous to "top") that could be used to calculate the number of columns that need to be scrolled to reach a certain position. Of course, that would be another feature request, i.e. implementing a variable called "left" that returns the column number of the leftmost window column.</end>
I'm sure I had the scrolling working this way at some point. I'll working on option for it.
Negative scroll values are already overloaded: -3 means scroll by 1/3 the window width.