Думаю, два пути.
1) Far Manager - хороший выбор для оболочки. Даже если вам не нужна вся эта мощь (управление файлами / архивами, редактор, огромное количество плагинов, макросы), вы можете использовать его в качестве оболочки / исполнителя для cmd, tcc, sh или любой другой программы, оболочки или командного процессора. .
Например
- взять 3 файла с дистрибутива (Far2 или Far3): far.exe, fareng.lng и (необязательно) fareng.hlp
- запустите "far.exe / w", нажмите Ctrl + B Ctrl + O
- введите в командной строке любую команду: dir, set, notepad, putty и т. Д. ...
История будет сохраняться между сессиями, вы можете получить к ней доступ с помощью Alt + F8 (нажмите Ctrl + Alt + F , чтобы переключить историю в режим фильтра).
Far 2.0 хранит историю (и настройки) в реестре.
Far 3.0 хранит историю в базе данных SQLite и может быть переносимым.
Кроме того, Far может автоматически завершать команды из истории или файлов / путей с диска. И есть плагин (YAC), который может автоматически заполнять псевдонимы и так далее ...
2) Я нашел недавно интересный проект: Clink - Перенос мощного командного редактора Bash в Microsoft Windows 'cmd.exe
- Мощное Bash-подобное редактирование строк из библиотеки Readline GNU. Подробнее о сочетаниях клавиш Readline.
- Превосходное завершение пути ( TAB ).
- Вставить из буфера обмена ( Ctrl-V ).
- Поддержка завершения исполняемых файлов / команд и переменных среды.
- Отменить / Повторить ( Ctrl -_ или Ctrl-X , Ctrl-U )
- Улучшена история командной строки.
- Сохраняется в сеансах.
- Доступно для поиска ( Ctrl-R и Ctrl-S ).
- Расширение истории (например, !!,! И! $).
- Завершение сценариев с использованием Lua.
Кажется, это молодой, но перспективный проект, поэтому я создал опцию для его использования в моем Консольном эмуляторе .