Comments (7)
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.
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.
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.
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.
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.
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.
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)
- [Feature] Allow tags jumping with no need to open the tags panel first HOT 5
- Python - inner functions issue HOT 5
- How can I fold the variables tag-kind on startup? HOT 2
- no tag found (neovim) HOT 5
- vim-9.0: The autoclose functionality is not behaving correctly HOT 2
- does not support golang HOT 1
- Sort by order in the file HOT 2
- Bug: Tagbar seems to be "one tag too late" when updating statusline HOT 1
- Error on configuration of g:tagbar_type_bib HOT 22
- Unknown tag kind encountered: "d". Your ctags and Tagbar configurations are out of sync! HOT 1
- unable to hide non-public tags using the "v" key HOT 10
- tagbar causes a noticeable delay in opening a ~8000 lines C file HOT 1
- Minor typo in ':help tagbar' (tagbar/doc/tagbar.txt)
- Error detected while processing WinEnter Autocommands for "*"..function <SNR>38_HandleOnlyWindow[13]..<SNR>38_CloseWindow HOT 4
- Markdown: How to hide scopes? HOT 4
- How to install this on neovim or Nvchad? HOT 1
- Question: can tagbar use same ctags file as gutentags? HOT 1
- How to install this for neovim or nvchad?
- How to install this for neovim or nvchad?
- Make Tagbar work for new buffers (no file name) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tagbar.