How could I get something like a buffer/argument list or a filter for individual windows, with a chosen subset of the buffers?

So I could have a window just for header files in C (files ending in .h), which I can quickly cycle through, and navigate with a substring in a command like :b. But say there's both main.c and main.h, because it's looking at only *.h, using :<dream-command-like-b> main won't complain there's both main.c and main.h and will take me to main.h.

I see location lists are window-local but I don't think they're what I'm looking for.

  • 2
    I'm afraid you'd have to implement such a feature yourself where you'd have dedicated functions to open and dispatch files into the right windows. Feb 20, 2020 at 13:58
  • 4
    arglist is window-local, if you execute :arglocal.
    – Matt
    Feb 20, 2020 at 14:04
  • 1
    it might be possible, but I am not aware of a plugin that provides this. So you might need to implement it yourself as a plugin. Feb 20, 2020 at 16:29
  • 1
    Possibly related post: Split: automatically load corresponding file. Personally, I use projectionist Feb 20, 2020 at 16:43

2 Answers 2


As mentioned in the comments, the arglist is local to the current window.

The location list is a window-local quickfix list.


Use https://github.com/vim-ctrlspace/vim-ctrlspace . It attaches buffers to a tab. Ctrl-space + w to navigate buffers in the tab(by default).

I think that is the default but I might have changed the plugin locally.

  • I guess that you want a buffer list per tab since it is more reasonable. I don't know about buffer list per window.
    – eyal karni
    Mar 9, 2020 at 8:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.