[CentOS] bash completion in C7
subscript at free.fr
Wed Aug 29 16:22:42 UTC 2018
On Wed, 29 Aug 2018 08:27:06 -0700 Gordon Messmer <gordon.messmer at gmail.com> wrote:
> On 08/28/2018 11:33 PM, wwp wrote:
> > - it doesn't expand *foo whereas there are *foo-named files in current dir, for instance:
> > # rm *foo
> > will show nothing whereas there's a file barfoo in curdir.
> Tab completion finishes a single word, given a string that appears at the beginning of a list of candidates.
Wrong, tab completion proposes the list of candidates if there are
several, and it only finishes a single word automatically if there's
only one match for the pattern. At least I never experienced tab
completion how you're describing it.
> Wildcard expansion (Ctrl+x, e) will expand a word containing a wildcard to multiple words on the command line, usually so that you can remove some matches.
> Neither will do specifically what you're trying to do, as far as I know. I think it's simply too ambiguous.
This works fine in CentOS 6, and anywhere with bash 2 and 3, I used such
completion pattern (ls *foo) for years on various systems. I hardly see
how this is ambiguous unless completion doesn't prioritize *foo
matching on files.
> > - completion takes 10 sec to propose me something, I don't have an
> > example right here but I'd prefer no completion instead of a
> > completion that hangs for more than 3 sec.
> Some completions can take a while. For example, tab completing a
> path on a remote system in an scp command, or completing a local path
> if it's matched against command output rather than the filesystem.
> IIRC, if you run "git diff path/...", the shell will use the output
> of "git status" to determine which paths have changed.
Irrelevant example here, I'm not talking about remote shells. On a
remote shell I would expect extra delays, anyway, but this is not what
I'm dealing with here.
> I don't know any way to set an upper limit on completions, and while
> "complete -r <cmd>" is expected to disable programmable completion
> for a single command, I can't actually clear completion for the
> ssh/scp commands on my laptop. "complete -r" turns off programmable
> completion entirely, in which case you simply have simple local path
> completion, if you'd honestly rather not have potentially slow
I tried disabling programmable completion entirely (`complete -r`),
since I don't need it and find it unreliable and it now works as always
for file matching patterns. That was a tip, thanks!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 836 bytes
Desc: OpenPGP digital signature
More information about the CentOS