Re: ":b {bufname}" tab-completion uses whole filepath

Christian Brabandt <[email protected]>
Newsgroups gmane.editors.vim
Message-ID <[email protected]>
On Fr, 14 Jun 2024, Enan Ajmain wrote:

> On Fri, 14 Jun 2024 22:52:10 +0200
> Christian Brabandt <[email protected]> wrote:
> > 
> > You could try the following mapping:
> > 
> > :cnoremap <expr> B getcmdtype()==#':'&&getcmdpos()==1?'b */':'B'
> > 
> > And then type :B which would expand to :b */ on the commandline and then 
> > whatever you type would be anchored to the directory separator.
> 
> I think the cnoremap only maps 'B' to expand to "b */" if it's at the
> start of the commandline.  But what's "b */" supposed to do?  I added
> this mapping and then typed "deep" (so the whole commandline became "b
> */deep" and then pressed tab.  It didn't do anything.  No completion.

Ah Windows, I didn't think about it. So unless you use shellslash, 
you'll need to change the mapping to use a backslash instead:

:cnoremap <expr> B getcmdtype()==#':'&&getcmdpos()==1?'b *\':'B'

> Could you explain the logic behind "anchored to the directory
> separator"?

The idea is, that you want everything that you typed to be matched after 
a directory separator. So instead of :b deeplog<tab> which presents you 
with 3 different files, anchor the pattern to the directory separator: 
\deeplog.py which Vim shall then only complete if it matches the 
directory separator followed by whatever you enter.

> Note that I also tried "b *\" and "b *\\" since I'm in Windows.

Try if :b *\<pattern><tab> works for you.


Thanks,
Christian
-- 
Unfair animal names:

-- tsetse fly			-- bullhead
-- booby			-- duck-billed platypus
-- sapsucker			-- Clarence
		-- Gary Larson

-- 
-- 
You received this message from the "vim_use" 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_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/Zm2eN1txfljI05dC%40256bit.org.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.