I'm using Cmder, which is an enhancement of ConEmu. It's not a full GUI, it's a Windows Console app, but it does xterm emulation. I'm not thrilled with it but it works pretty well, with some visual quirks at the margins.
SecureCRT used to be my favorite terminal program for Windows back in the day. It's still around, I haven't tried it in awhile. It costs money.
No. This will let you run the Linux tmux
program directly from PowerShell, but it doesn't give tmux the ability to spawn PowerShell instances, so you'd only have multiplexed bash shells.
AFAIK tmux
doesn't even work with the Subsystem for Linux currently anyway.
ConEmu offers very comparable functionality to tmux (tabbed and tiled consoles, and keyboard shortcuts to switch between them), with the exception of the ability to detach and reattach to sessions.
ConEmu is what you're really looking for although you don't know it. It is a different terminal program that allows for changing the size on the fly by dragging. It also has MANY other useful features worth digging into the config for.
You can't use the keyboard shortcuts, but you can right-click the command prompt and use the Copy and Paste menu items. To select text, right-click and choose Mark from the menu.
I don't generally use the Windows command prompt program - check out ConEmu, it's much better.
[EDIT] The above applies to Windows command prompts from Windows 95 onwards, pretty much.
http://conemu.github.io/en/SettingsSizePos.html >Length of backscroll buffer in lines. Maximum supported value is 32766.
If you're looking to expand the terminal capabilities on Windows, I really, really, really recommend you try ConEmu. It solved all of my complaints with the Windows command line interface, including multiple CLIs per tab. I'm not sure if this is the same thing as tmux, but I know it's easy (keyboard shortcuts) to split your current ConEmu tab into portions, giving you multiple CLIs in the same working directory, with same permissions, in seconds. If you're continuing to dev in Windows but are hating the CLI, I really recommend giving ConEmu a try.
Not much these days, but my college's CS dept was heavily *nix focused, so I used to a lot. Ubuntu was my laptop's OS for about 2 years during college. I was never a bash ninja, but I was pretty competent with it.
PowerShell gives you the ability to pipe structured data (i.e. objects) around, as opposed to text. IMO, this makes it fundamentally more powerful than bash and other text based shells. It also maps a lot better to the way Windows works (Windows is more object/API based, whereas *nix is more file/text based). Generally, I find I can do a lot more in a one liner, without having to open a text editor, than I could have in bash (although, honestly, I was never as good at bash as I am now with PoSh). Plus, you get the whole .NET ecosystem at your fingertips.
The downsides currently are that the learning curve is higher, the community is small, and most of the learning resources are very focused on Windows sysadmins writing scripts, as opposed to fundamental language details and how to efficiently use it as a shell. Much of the syntax looks similar to other imperative languages, but it often operates very differently. For example, functions don't return a single value, they output any number of objects to the next pipeline stage. It's also pretty young in the grand scheme of things, and has its quirks, which could be frustrating for someone coming from bash. It's also, of course, not cross platform (yet, at least).
Oh, and the OOBE is pretty bad. You need to get ConEmu (and PSReadLine, if you're not on Windows 10) to really make it nice to use.
Overall, I think that once you get your head around it, it's really, really cool.
I really like the direction Visual Studio Code is taking. If you write use nodejs you really should look into it for the debugging. Also you can use TSD for common libraries that you use, this will add autocomplete.
I prefer gulp over grunt for automation.
Some key gulp modules: jshint, jscs, uglify, htmlhint, wiredep, inject, minify-html, less, csso, (insert test suite here)
I rely on lodash heavily for accessing keys/values of objects, especially nested ones, to avoid writing a lot of extra conditionals to make sure keys exist.
I do a lot of my development in windows, for my console i use git-bash and ConEmu. It's a really nice combination, use ctrl+e/ctrl+o to split panes. You can even get your editor to load in one of the panes so it's easier to view gulp/grunt watch tasks while you're saving.
To open VS Code (or any editor of your choice) inside of ConEmu, add the VS Code directory to your path. Open ConEmu, (press ctrl+e if you want your editor on the left). Then run: code -new_console:s
If you want to do serious work from the Windows command line I recommend conemu. My startup file:-
cmd /F:ON /T:02 /K chcp 65001 >nul&&cd C:\Users\Mark\Documents\MyPython "-new_console:t:MyPython" -new_console:a cmd /F:ON /T:02 /K chcp 65001 >nul&&cd c:\Users\Mark\pythonissues "-new_console:t:Python Issues" -new_console:a cmd /F:ON /T:02 /K chcp 65001 >nul&&cd c:\cPython\PCBuild "-new_console:t:cPython" -new_console:a cmd /F:ON /T:02 /K chcp 65001 >nul&&cd C:\Users\Mark\Documents\Cash\Python "-new_console:t:Cash Python" -new_console:a "C:\Program Files\Python 3.5\Scripts\ipython.exe" --matplotlib "-new_console:t:iPython"
I enjoy the same benefits, which may be thanks to Cmder, IDK. Honestly, I only noticed that Cmder was simply a skinned ConEmu when I right clicked Cmder one day to pin it to my Start bar. Next time I launched it, ConEmu launched instead with a slightly different UI than I was used to with Cmder, and it displayed a notification letting me know I was running a really old version of ConEmu and asked if I'd like to update. Post update, I'm still choosing to run ConEmu (what I thought was Cmder), and I actually like it better.
I'm not affiliated with the project, but I decided I would link it this time, because I realized it *may be called ConEmu-Maximus5--I don't know, but that's what I've seen here and there. ::shrug::
It's more popular on Linux, but its available for Windows. Conversely, there's no PowerShell on Linux ;).
It just runs in your console. I'm using ConEmu, and set up some splits to make the screenshot look pretty.
Oh, and it's a completely different way of thinking about text editing. Bit of a learning curve, but once you're over the hump, you won't want to go back.
After a clean Windows install, I always install first Microsoft Visual Basic/C++ Redistributable x86/x64 AIO (to never get errors that such or such msvcr dll is missing), and most frameworks/vms (.NET Framework, Java, Adobe Flash, etc.)
Then, in no particular order:
And for development and cli tools:
> The console experience is just plain better (I've never heard anyone say that they prefer working in the Windows console over one of the *nix ones).
While I agree, ConEmu in combination with the bash included with git on Windows is good enough for me. Definitely better than Cygwin.