zsh has a feature where command line tab-completion performs context-aware completions, so you can do things like:
# Good: $ wget g<tab> # becomes: $ wget gopher:// $ wget --hea<tab> # becomes: $ wget --header=
I like that feature, but sometimes it prevents me from completing filenames in contexts where zsh thinks something else is more appropriate:
# Bad: $ file vs-debug.apk vs-debug.apk: Zip archive data, at least v2.0 to extract $ adb push v<tab> # becomes: $ adb push version
^I bound to
expand-or-complete (the default widget). What I would like is to have a different key perform unfiltered filename expansion, eg:
# Desired behaviour: $ adb push v<shift-tab> # would become: $ adb push vs-debug.apk
Nothing I saw in zshzle(1) looked appropriate, but I tried the following other widgets anyway:
I don't want to lose the context-aware completion. Any ideas for how I can perform unfiltered filename expansion/completion using an alternate key binding?
I am using zsh 5.0.2 (x86_64-apple-darwin12.4.0) and zsh 4.3.17 (i686-pc-linux-gnu).