9

I'm contemplating moving from Linux to Windows. What worries me is being less productive. E.g.:

  • In Linux, I can run applications fairly quickly if they are in the PATH (and most applications are because of the filesystem layout standards -- e.g., /usr/bin and /usr/local/bin)
  • I can open vi right in the shell (not losing focus)
  • I have programmatic completions. For example, I have a script that finds all files with some string in their name in the somewhere under the current directory and I have completions for it (so "ff Foo<tab>" will complete with all file names containing Foo)

So I'm looking for suggestions of Windows tools that will make me more productive. I'm aware I can use Cygwin, but I'm looking at alternatives that are not "make Windows behave like Linux".

5
  • 1
    Windows has a PATH aswell
    – Macha
    Dec 2, 2009 at 7:49
  • BTW: I'd appreciate any productivity tool, not just for the use cases I mentioned
    – IttayD
    Dec 2, 2009 at 12:29
  • 3
    +1 Interesting. I would be curious about the opposite: being as productive in Linux as in Windows. ;)
    – Jon Seigel
    Dec 2, 2009 at 17:02
  • 1
    Just a little tip: Don't install games on windows. Though you might not suffer from the same addictons I do. I used to dual-boot (linux for work, windows for games) and all was great. Lately I've been using windows for work (mostly through Putty) and I've aquired the bad habit of "momentarily" stopping work to play a bit.
    – Malabarba
    Dec 5, 2009 at 13:44
  • As for programmatic completions. Windows vista and 7 have the startmenu search function. It's not as powerful as the terminal, but it's still useful. And it's as quick as pressing Win then typing Foo to see options pop up.
    – Malabarba
    Dec 5, 2009 at 14:05

15 Answers 15

8

Think of Windows as a superset of Linux, because that's basically what it is: All the techniques and utilities you use in Linux will translate directly if you use the same programs.

On the other hand, Windows provides many new and rich shortcuts and techniques not available in Linux. Some of my favorites are:

  1. Use Win+R shortcut key, type in a program name (notepad), file path (c:\folder), network path (\server\share\folder) or web site address (www.xyz.com). In each case you get filename completion including a drop-down list of suggestions, and no command window is necessary.

  2. Use Windows Explorer as your command shell. Browse with the shortcut keys, use Win+R to get somewhere, and use shortcut keys to work with the files.

  3. Add programs such as editors and file viewers to your SendTo folder, each with unique prefix, so you activate the program with three keystrokes. For example, I always create a "1 Notepad" shortcut in SendTo every time I start working on a computer, so I can always do Shift-F10, N, 1 (or right-click, N, 1) to open any file in Notepad.

  4. Use Cut/Copy/Paste shortcut keys (Ctrl-C, Ctrl-X, Ctrl-V) to move and copy files and folders between directories. You can duplicate a file or folder within a single directory with the quick keystroke combo Ctrl-C, Ctrl-V.

  5. Use F2 to edit file names and Ctrl-F to find files

Various Linux GUIs have one or more of these abilities, but you cannot rely on them across various Linux installations. On the other hand, you can always do these things in any modern Windows (eg since Windows 2000), so you are free to focus on the problem at hand.

10

First things first: Download PowerShell. It still won't be better than bash, but it's better than the abomination that is cmd.exe

Secondly, Windows has a PATH aswell. Use it.

4
  • In Linux, applications normally install to /usr/bin, in Windows, each application is in its own folder, adding each one to PATH is a pain
    – IttayD
    Dec 2, 2009 at 12:27
  • Not if you add one place, then make a script to symlink executables to c:\bin\ automatically :)
    – Phoshi
    Dec 2, 2009 at 13:15
  • Don't really see the use of having applications in the path just for launching them as they're most likely indexed and will be found with the normal searcher/launcher anyway (and if not, make sure they are indexed and enjoy ^^ Dec 6, 2009 at 14:44
  • I agree -- there isn't much point in adding application install paths to the PATH environment variable. Also, on a side note, I think PowerShell is a hell of a lot more powerful than Bash. Would you rather spend your time parsing text, and piping text to other commands, or would you rather use rich objects? :) Nov 8, 2012 at 13:35
7

Launchy will give you very easy single-keystroke launching of applications. Regarding the command line things have got a lot better in terms of funtionality with XP SP3, Vista and 7. From my somewhat limited experience of the Linux prompt it seems that Linux works that way from the ground up, whereas Windows has always been a GUI and any command line functionality was largely a hangover from MS-DOS days. But now there's a 'headless' version of Windows Server it'll have to get a lot stronger in this respect.

3
  • 2
    "hangover" or "holdover"? While I've had hangovers trying to forget DOS, I think you mean the latter term...
    – AnonJr
    Dec 2, 2009 at 22:50
  • Launchy is one utility I cannot go without anymore. It basically lets you type a command name(matches partials), and if it is in the start menu, it will launch it. Other than that, I think powershell is supposed to be nice, but I just stick with cygwin. Even once you got used to the shell it wouldn't be long till you were missing grep, find, etc,
    – MattG
    Dec 4, 2009 at 22:00
  • i personally like "Search Everything" better...
    – Epaga
    Dec 21, 2009 at 10:08
5

I'm contemplating moving from Linux to Windows. What worries me is being less productive. E.g.:

**** In Linux, I can run applications fairly quickly if they are in the PATH***

Windows has a PATH as well. You can either check out what's in it through GUI (Control Panel/System/Advanced/Environmental variables/PATH) or through command line, by just typing PATH.

This shortcut is often useful if you wish to add a temporary directory to a path;
c:>path c:\temp;%PATH%

**** I can open vi right in the shell (not losing focus)***

As far as I know vim on windows has two versions, command line one (console as they call it), and gui (gvim). Both work more than fine. I prefer gvim, but that's just personal preference. Put vim's runtime directory in PATH variable, and you can open it from wherever you like.

**** I have programmatic completions. For example, I have a script that finds all files with some string in their name in the somewhere under the current directory and I have completions for it (so "ff Foo" will complete with all file names containing Foo)***

Well, I don't know about this specifically, simply because I didn't need it, but apart from cygwin there are several ports of "standard" unix command line utilities, with which I believe you can do mentioned. My preference goes to unixkit-tiny which is a native (sort of) windows port. Portable and all. Can be downloaded from here.

So I'm looking for suggestions of Windows tools that will make me more productive. I'm aware I can use cygwin, but I'm looking at alternatives that are not "make windows behave like linux".

Well, in that case (not "make windows behave like linux"), you can just go with Notepad2 or ++, Powershell, and some file manager combination ;)
Seriously now, I believe the above mentioned will serve you well. If you have any other problems state them in your question.

4

Hmmm, some of my favourite Windows tools for productivity:

Autohotkey. Gets a fair bit of press around here. Customised hotkeys and shortcuts.

Everything. Also popular. Instant file and folder searcher. (NTFS only)

Smartstartmenu. A simple hotkey then type a string of letters for a program name

And a host of Firefox addons!

I have a similar issue the other way around- these tools and other customisations are a reason I don't use Linux regularly. I'll get to learn some day.

1
  • Everything Search revolutionized my Windows experience. Seriously. Get it. Be AMAZED.
    – Epaga
    Dec 21, 2009 at 10:07
4

I have found that the cygwin toolkit is invaluable on windows. It gives you a nice linux like shell on top of the windows os.

The one thing that I would recommend with it though is running the rxvt terminal window instead of the normal command line window. That way you get better copy and paste support and also a more familiar, x-win like shell window.

2
  • 1
    mintty is even better: mintty.googlecode.com
    – Anonymous
    Dec 2, 2009 at 23:08
  • Seconded on Mintty. It's based off the ubiquitous Putty. Great terminal support that just works.
    – Pridkett
    Dec 3, 2009 at 3:28
1

You're used to linux. Get used to windows.

AutoHotkey and Executor are two fantastic tools. Windows has a %PATH% too, use it. Try the registry key at [here] to make your own .bashrc style cmd config script, doskey is almost as good as bash's alias

Python and Perl both run on Windows, if you don't know either, learn one, they can do everything a .sh shell script can, and more. Grab either UnxUtils or Cygwin (Add it's \bin folder to your PATH, the tools are very good, it's just the bash emulator that's heavy and not-windows), because the default cmd toolset is rubbish. Also gets you vim and emacs, (both proper ports) depending on what your choice is (vim :))

With all this, I have a powerful command line (not quite bash-standard, but it's highly usable), and a powerful GUI. Meta-G to google the highlighted word, capslock to bring up firefox, global search with Everything, good multi-monitor support, KDE-style window movement, so on. Windows isn't perfect, but it's got a lot going for it.

1

Regarding running applications from Windows, Windows 7 supports searching for applications in your computer from start and executing it with one click.

1

Take your linux command line-fu with you. From the cmd shell you can use you favourite unix tools by using Gnu Win32 or unxutils. These tools play nicer with windows than cygwin because you live within the windows cmd shell.

1

I could not live without SlickRun, though I hear Launchy is good as well. Also, for more of the applications, you could go to the 'Alternative To' site to see what some of your windows-based options are to replace apps you use in linux.

http://alternativeto.net/

0

I've found clipx a really useful tool.

3
  • How so? What does it do that is useful? how does it relate to the OP's needs?
    – MaQleod
    Jul 10, 2012 at 22:17
  • @MaQleod: It implements a clipboard history which isn't available in Windows by default. It really helps when editing code / text. The OP wanted suggestions for any helpful productivity tools (see comment in question) and I find this one helps me write code.
    – Skizz
    Jul 11, 2012 at 8:56
  • I understand what the OP wanted, answers to questions on SU that include a link should not just solely be a link. It is good practice to write a brief summary about how that link correlates to what the OP asked.
    – MaQleod
    Jul 11, 2012 at 20:33
0
  • You can start some (but not all) programs that aren't in your PATH by prefixing the command with start. I think there's a registry key that lets you add things to this list.
  • I can open vi right in the shell. Make sure you check the appropriate option when you install Vim.
0

One of the first programs I install on Windows is Ch Shell from SoftIntegration. I originally began using it as an interactive way to learn C, but now use it for much more. It includes several Gnu utilities that are simply nice to have on Windows that aren't standard. And if you are familiar with C, it makes a decent scripting environment.

Windows Powershell is also another great tool. It can access the .Net framework, so you can build just about anything with it. It is quickly becoming widely supported by many third-party applications.

If you're still contemplating a Unix-like environment, take a look at the Subsystem for UNIX-based Applications from Microsoft. Unlike Cygwin, SUA is an environment subsystem that runs on top of the Windows kernel, at the same level as the Win32 subsystem. It's fairly neat stuff.

Lastly, if you want to wring the most out of Windows, avoid the "Home" versions. They are missing some options & functionality that a "power user" might want.

0

regarding "productivity" there are three utilities i cannot do without:

Total Commander (the ultimate file manager) and SlickRun (a free floating command line utility) and indeed Everything (a desktop search tool, which has been recommended before)

and if you're using a multi-monitor setup then Actual Windows Manager is a 'must have'.

0

AltDrag is a tool for Windows which provides the same functionality of dragging windows with the Alt key pressed. I use it too much, and for a GUI system I think it's a performance enhancer.

2

Not the answer you're looking for? Browse other questions tagged .