If it's a *file* buffer (won't work for *scratch* buffers etc.), you can: 1. **`:let @f=@%`<kbd>ENTER</kbd>** — in the source window; - This replaces contents of regular register *f* with contents of special register *%*, which contains current file name. - Note: I chose register *f* as in *file*, but you can use any other register you like. - You can verify that the register contains correct path with: `:echo @f` 2. Optionally: <kbd>Ctrl-W</kbd><kbd>Ctrl-Q</kbd> — to close the old window; 3. <kbd>g</kbd><kbd>t</kbd> / <kbd>g</kbd><kbd>T</kbd> — navigate to the target tab (and window); 4. <kbd>Ctrl-W</kbd><kbd>s</kbd> — split the tab any way you like, to open a new window; 5. **`:e␣`<kbd>Ctrl-R</kbd><kbd>f</kbd><kbd>ENTER</kbd>** - in the newly opened window, loads a file from the path stored in register *f*; - Note: the ␣ character here marks a regular space. **Important note:** the final step **won't work correctly** if the **path contains spaces!** :-( <sub>*Inspired by answers from [lkraav](https://vi.stackexchange.com/a/3475/1500) and [ingo-karkat](https://vi.stackexchange.com/a/3394/1500)*.</sub>