I've used advanced console managers for Windows for a long time, including ConsoleZ and ConEmu. I eventually tried -- and am currently using -- Windows Terminal with Powershell as the actual shell program. It's been great to get off of cmd.exe, but I noticed a problem: Python's REPL was no longer tracking my command history. The history of everything I typed was lost as soon as I exited the REPL!
I finally researched the problem and found that a Windows registry key needed to be updated. There's two ways to do that:
Open cmd.exe, right-click on the title bar, select "Defaults", and in the "Options" tab, change the "Number of Buffers" to a bigger number, like 10.
Edit the registry and change the HKCU/Console/NumberOfHistoryBuffers value to 10.
Making this change fixed the problem, but I permanently captured this fix by adding a registry file to my dotfiles repository and updated my Windows-specific dotbot configuration to always import that registry file.
My dotfiles directory
dotfiles/ │ dotbot-windows.yaml │ └── windows/ increase-number-of-history-buffers.reg
- shell: - description: "Increase the number of history buffers" command: "reg import windows/increase-number-of-history-buffers.reg"
Windows Registry Editor Version 5.00 ; Increase the number of history buffers to 10. ; ; On Windows 10, using Powershell in Windows Terminal, ; the default number of history buffers (4) is insufficient, ; and Python's REPL cannot track its command history. ; ; Increasing the number of history buffers fixes this problem. ; [HKEY_CURRENT_USER\Console] "NumberOfHistoryBuffers"=dword:0000000a
Problem permanently solved!