NeoVim recently introduced the global statusline, which sounds great to me, because it would allow me to display global information like the current working directory, global settings, git/project related information in the global statusline and buffer/file related information in the window statusline.
I would go one step further and make the global statusline a multiline field.
It also should be possible to turn on/off the global and the window statuslines individually.
Remark: I'm not a NeoVim user but I know that the multiline statusline is a thing that many Vimmers are wishing for. And now with the concept of a global statusline I think it would be possible.
I checked if such requests exist, but I couldn't find any. Feel free to link.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Here the link to the proposal on nvim side
neovim/neovim#9342
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
So it is no longer clear what the contents of window is? I would think a global statusline would be an extra line above the command line, not replacing the existing statuslines but moving some items there.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
So it is no longer clear what the contents of window is? I would think a global statusline would be an extra line above the command line, not replacing the existing statuslines but moving some items there.
The question I don't understand, but yes the global statusline is an extra line (or more) above the commandline.
I think it would be nice if one could configure the global statusline independently from the window statuslines.
And also deciding if the global statusline is visible or not, and if window statuslines are visible or not, or only when the window is focused.
an example configuration could be...
the global statusline shows current working directory and git branch name
the window statuslines show the filename number of the current line, total number of lines
but of course one can configure whatever is desired.
I could also configure to only have the global statusline, and only show the information of the currently focused window.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Here 2 more images as described in my previous message.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
I noticed that when someone has 4 splits or more, that then the statusline is taking either too much space vertically, or the statusline is too short and not all information fits. And a global statusline would solve that issue, because it is 1 line only and has the full width. But of course it all depends on the configuration as the images show.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
So it is no longer clear what the contents of window is? I would think a global statusline would be an extra line above the command line, not replacing the existing statuslines but moving some items there.
Ah you mean that in vertical splits we wouldn't be able to see where a window ends and the next split window starts?
Okay now I see that my vertical space argument is not valid, because in Terminal we still need a full line even if we only want to display a thin separator line as shown in the image. But still visually clean and gives the impression of more space.
So this would mean that in the images above where a window has no statusline, the space where the statusline would have been gets replaced with a separator line? Maybe with box drawing characters?
Yes that sounds right and logical to me, thanks @brammool for pointing it out.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
I'd love to see this feature in Vim.
It will make global settings in one place and window specific settings much clear.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
@marcotrosi It's not how global statusline currently works in neovim. It's just one statusline and other windows just have borders not another statuslines.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
So it is no longer clear what the contents of window is? I would think a global statusline would be an extra line above the command line, not replacing the existing statuslines but moving some items there.
And why only above command line? Maybe as first line of the screen would be better or an option where to place it?
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
@marcotrosi It's not how global statusline currently works in neovim. It's just one statusline and other windows just have borders not another statuslines. So Bram question was actually on point.
that is correct, but I want it differently, I didn't want the NeoVim solution. And with my general approach users can configure whatever they need. If they want window statuslines they can have them, if they dont they dont.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
So it is no longer clear what the contents of window is? I would think a global statusline would be an extra line above the command line, not replacing the existing statuslines but moving some items there.
And why only above command line? Maybe as first line of the screen would be better or an option where to place it?
This is theoretically possible, it would be then above the tabline. But to be honest, this is already a quite heavy feature request, and I don't want to bother Bram too much. So I would like to keep it simple and increase the chances of getting such feature.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
The nvim solution is better to me. And I even want putting global status line and cmd line together into a single line, just like vscode.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
I was wondering the same recently.
If I have to express my personal preference, I would go for this:
Tidy and clean. That also remind me the macos menu bar that switches depending on who is active at that point in time.
Note that if you have a crowded statusline, then the window content may not be clear anyway. In that case, is better to have a global statusline so at least you know what is one window content (i.e. the active window content). Plus, and I may be wrong, it looks like common practice among IDE:s to have a unique statusline that switch its content depending on the active window, I think we could easily align.
Finally, note that the request does not imply any changes of existing behaviour, so that for those not interested nothing will change. All in all I don't think it is an unreasonable request, given also the number of thumbs up on top of the first post that you seldom see. :)
My two cents.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
I've also wanted to separate buffer-specific information from information which concern the state of vim itself. My two cents is that I'd want to move the global statusline to the very top. I seldom use tabs nor splits, and still want this.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()