> 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.

Raspunde prin e-mail lui