Code Monkey home page Code Monkey logo

Comments (7)

majutsushi avatar majutsushi commented on May 22, 2024

Vim isn't crashing here. What's happening is this: when you delete a buffer Vim will close the window associated with it (unless it's the last one), and if Tagbar notices that it is the last window open it will quit Vim (since a Tagbar window without any other windows is pretty useless). I'm not sure what the best solution would be for this problem: there's no way to keep Vim from closing the window without creating a function like this one, and keeping the Tagbar window open as the only window is also not very useful. So I guess the best workaround would be to either not use :bdelete or use a function like the one I linked.

from tagbar.

totallymike avatar totallymike commented on May 22, 2024

What you're saying is that vim detects the Tagbar window and decides that there are other windows, thus closing the one attached to the buffer you're deleting, correct?

Would it make sense for Tagbar to just delete its own buffer if it notices that the other window is gone, possibly bringing you back to a different file open in a different buffer?

It's not the most dangerous error in the world, as vim will fail to quit if there are unsaved, modified buffers in the background, but it's still workflow damaging if you don't learn your way around the problem.

from tagbar.

majutsushi avatar majutsushi commented on May 22, 2024

Yes, that's the way Vim does it when a buffer gets deleted. Unfortunately removing Tagbar's buffer and switching to another one isn't as simple as it sounds since Tagbar also needs to set various window-local settings that then would be wrong for normal buffers, and that could lead to subtle bugs that would be hard to track down and other weirdness (for example if you have set the option to expand the Vim window when Tagbar opens). So I'm not sure if that would be a good idea. I'll have to think about whether there's a better way, but for the time being I guess "don't do that then" is the only advice I can give. Sorry!

from tagbar.

totallymike avatar totallymike commented on May 22, 2024

That's very informative. I appreciate your responding to me. I've just gotten used to closing the Tagbar before switching buffers and that takes care of it well enough.

I won't close this issue in case you want to keep it up for tracking purposes, but feel free to close it if you like.

from tagbar.

majutsushi avatar majutsushi commented on May 22, 2024

I just noticed that you said "switching" buffers. Why are you deleting buffers when you only want to switch them? Deleting buffers should only very rarely be necessary.

from tagbar.

totallymike avatar totallymike commented on May 22, 2024

I close Tagbar before doing any buffer-related movements. I like to delete buffers I'm not using anymore rather than keep them open and accidentally select them. I work on a code set that has a lot of similarly-named files so it's convenient to just close them when I'm done with what I need to do.

from tagbar.

majutsushi avatar majutsushi commented on May 22, 2024

In that case I would really recommend using a function like the one I linked above instead of doing :bdelete directly so you don't have to toggle Tagbar all the time.

from tagbar.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.