Better tab-completion in Windows consoles
The ConEmu’s disclaimer sais: ‘ConEmu is not a shell, so it does not provide “shell features” like tab-completion, command history and others.’
That means user have to ‘upgrade’ the shell itself to improve its behavior.
Note. If you are pasting in the command line prompt a text
containing some Tab characters (ASCII \x09
),
you may observe weird result of tab-completion in your prompt,
like in the issue 225.
cmd.exe and clink
If you are using cmd.exe
as shell you may try clink
for bash style completion and advanced cmd prompt.
ConEmu provides an option to autoload clink in cmd tabs.
- Download latest clink or build it yourself from sources.
- Unpack files (without subfolder) into
%ConEmuBaseDir%\clink
(this folder already created by ConEmu installer and containsReadme.txt
).- Please note, clink archive contains subfolder. Files
clink_dll_x86.dll
,clink_dll_x64.dll
(and others, with subfolders may be) must be located in%ConEmuBaseDir%\clink
.
- Please note, clink archive contains subfolder. Files
- Turn on checkbox ‘Use Clink in prompt’ on ‘Features’ page, save settings and restart ConEmu’s tab.
- Well, now bash style completion will be available in
cmd.exe
new session.
Note. Clink will be called in shell prompt (cmd) if
ConEmuHk.dll
or ConEmuHk64.dll
is loaded into shell process.
This will be done for ‘root’ processes (that you specify when creating console)
or when ‘Inject ConEmuHk’ option is checked on ‘Features’ page.
Checked option ‘Inject ConEmuHk’ is required, if you start second-level cmd
from root process, e.g. cmd /c cmd /k ...
.
Actually, it’s not recommended to uncheck ‘Inject ConEmuHk’ at all.
Note. If you do not want to store clink in the ConEmu’s subfolder,
you may install it standalone using clink_setup.exe
.
Actually, option ‘Use Clink in prompt’ is not required,
if clink was set up using its installer.
Please refer to https://github.com/chrisant996/clink for further information and bugreports.
PowerShell.exe
There are two nice PowerShell extensions to make its prompt more friendly:
- PSReadLine (preferred)
- PowerTab (outdated)
zsh.exe
Perhaps zsh tab-complition is good enough, but lately I’ve found the openshift extension. You may try it.