Wednesday, November 6, 2024

Re: Annoying vim problem - again

Hello Jürgen

I had the undofile and undodir set. I do not know why I set these, but they were set.

Why do we need undofile and undodir? As far as I can understand these are for a persistent undo mechanism. To be able to undo after rebooting system, or quitting the editor and starting it up again.

I think the editor does have unlimited undo capabilities. I would not care for a persistent undo mechanism (undoing after rebooting my computer, or even quitting the editor then come back and be able to undo), so I have removed these settings. Hope this is the problem that I was facing. Thanks to the -V flag in vim, I was able to identify it at last.

Regards,
Riza

On Wed, Nov 6, 2024 at 9:50 AM 'Jürgen Krämer' via vim_use <vim_use@googlegroups.com> wrote:
Hi,

Riza Dindir schrieb am 06.11.2024 um 05:25:
> As you might recall I had a problem with VIM. I also have written to the group with the title "Annoying vim problem".
>
> When I switch a buffer or when I run vim and open a file that I edited before it was undoing what I did the last time to the file.
>
> I was suspecting it had something to do with the .viminfo file or something like that. So I have started vim using "vim -V10". I am showing some of the :messages command below.
>
> sourcing "/home/.../tmp/cmd.vi <http://cmd.vi>"
> chdir(./.../...)
> fchdir() to previous dir
> chdir(/home/.../.../.../.../.../.../.../...)
> fchdir() to previous dir
> "./../../some.py" 109L, 5253B
> Reading viminfo file "/home/rdindir/.viminfo" marks
> Reading undo file: /tmp/%home%...%...%...%...%...%...%...%...%some.py
>
> I have replaced path components with "..." in the paths above, which I did not share. 
>
> The interesting part is this. It reads the .viminfo file and then read the undo file in the /tmp directory. This causes the last things that I have made in the file to be undone, after I open that file again.
>
> Can anybody tell me why this might happen? Any ideas?

sounds like you have a stray `:undo` somewhere in the scripts that get sourced during startup or in an autocommand.

You can see which scripts get sourced with `:scriptnames`. If this strange behavior only happens with python files, I'd first look at file type plugins. Maybe the contain a leftover `u` in a line, which would be interpreted as an abbreviation of `undo`. With the `undofile` option set this would immediately undo your last change from the last edit session upon loading the python file.

If other file types show the same behavior you will have to check more of the sourced files.

Also an autocommand might include a stray `u` or `undo`. You might want to check the ones that get executed on loading files into a buffer, like those whose event names start with "BufRead" or "FileRead" and especially the "FileType" event.

Regards,
Jürgen
--
~
~
~
:wq

--
--
You received this message from the "vim_use" 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_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/vim_use/6b064607-dc5d-42ac-a5d0-9fa18000d422%40googlemail.com.

--
--
You received this message from the "vim_use" 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_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/vim_use/CA%2Bek4BHzE6MN3zBS1t4KoAaB%2Bzx2CXi-CwSMfxdxfAYYGc9x_Q%40mail.gmail.com.

No comments: