Gary Johnson wrote:
> > > Would there be a problem with making 'virtualedit' global-local
> > > instead of just global, as it is now?
> > >
> > > The problem I'm having is that I set virtualedit=all automatically
> > > whenever I'm diffing two or more buffers so that I can move the
> > > cursor vertically through either buffer and not have the windows
> > > scroll to the left whenever the cursor moves to an empty line. When
> > > I open a new buffer, it also has virtualedit=all and editing behaves
> > > oddly, causing me to make mistakes and to take extra steps to work
> > > around those oddities.
> > >
> > > The most common situation is committing a file to a git repo using
> > > Fugitive. I use :Gdiffsplit to see the changes, which sets
> > > virtualedit=all, then ":Git add %" and "Git commit" to commit them.
> > > ":Git commit" opens a new buffer containing the usual Git commit
> > > template and the cursor positioned at line 1, column 1. Typing 'a'
> > > to begin adding text, as I would in any buffer, moves the cursor to
> > > the right to column 2, leaving a virtual space in column 1. I can't
> > > backspace over it because there is no space character there. There
> > > are several ways to begin my commit comment in column 1, but all
> > > involve doing something I wouldn't have to do if 'virtualedit' was
> > > not set.
> >
> > Yes, this sounds like a good idea.
> >
> > I wonder if it should be buffer-local or window-local? Thus is it
> > related to the contents of the buffer, or to how it's displayed?
> > When buffer-local you would keep the setting when editing the same
> > buffer again in another window, but you can't have two windows on the
> > same buffer with different 'virtualedit' values.
> >
> > I suppose buffer-local makes most sense.
>
> Now that I've used this a while longer, I think it would work better
> if it was window-local rather than buffer-local. The state of
> 'virtualedit' is more a property of the editing task than it is of
> the file type or buffer contents.
>
> I noticed this while using Fugitive and diffing a file in a pair of
> windows while having the same file open for editing in another
> window. The latter window suddenly had virtualedit=all even though
> I only wanted it set in those windows where 'diff' was set.
>
> I don't think the feature has been released for long enough for
> changing it to be a problem, if that's what we decide to do.
> I don't know if there are any other difficulties with making this
> window-local.
>
> What do you think?
We can still change it. Because of the special way how window-local
options work, they are remembered per buffer. This is explained under
":help local-options". Give it a try keeping this behavior in mind.
--
A KNIGHT rides into shot and hacks him to the ground. He rides off.
We stay for a moment on the glade. A MIDDLE-AGED LADY in a C. & A.
twin-set emerges from the trees and looks in horror at the body of her
HUSBAND.
MRS HISTORIAN: FRANK!
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\
/// \\\
\\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/vim_dev/202107292025.16TKPweU2237749%40masaka.moolenaar.net.