> Ok, it makes sense. But what about the first part of my post, before > "But let us assume for a moment that this behaviour is correct"? > > There is neither buffer named '~/foobar/bar' nor '~/foobar/baz'. There > are only 'bar' and 'baz' buffers. The results returned by either ':ls' > or '<CTRL-D>' are incorrect.
:h :ls does not mention anywhere that it contains buffer names. What makes you think it does? // A: :h bufname() says that “result is the name of a buffer, as it is displayed by ":ls" command”. Also note that vim has :cd and :lcd. This would force buffer name recalculation every time you do :cd or change to another buffer. Would if vim did not keep full names as buffer names. You can see them from python interface: `vim.current.buffer.name` takes buffer name directly from C structure that represents current buffer without any modifications. Guess :b completion just does not perform these modifications thus you see what you see. Note that I do not think this behavior is good or consistent, but the above paragraph explains why you see it. > It is very annoying while working with my current project. ':ls' returns > buffers names relative to the root folder of my project but '<CTRL-D>' > or 'TAB' (with 'wildmenu' enabled) sometimes (as in described scenario) > distracts me with very long, unreadable absolute paths. I would really suggest using Command-T for switching buffers. What you complain here about is yet another reason for :b <C-d> being inefficient. -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
