I'm going to be specific, as opposed to the general recommendations above:
Efficient Text Editing
I use vim, and I think you should, too, so I'll list a couple of "efficient editing" docs:
In the name of all that does not suck, do not use the arrow keys to move around in a vim window. Learn the
hjkl movement keys.
Efficient Interactive Shell
You should probably use
bash as your shell scripting language, but you should use Zsh as your interactive shell. Zsh does spelling correction, so you can just confirm that you meant
make when you typed
mkae, for example. You can set Zsh up to complete command line words when you hit the 'tab' key. You can set Zsh up to do informative prompts. Use of
RPROMPT can really save time. My prompt looks like this:
3 % # /home/bediger/src/csrc
I'm user 'bediger' on a host named 'dagoo'. My typing goes at the '%', and I've issued two commands previously. My working directory is
Zsh can also be set to cd to whatever directory you paste in on the command line, you don't need to type 'cd ' then paste. A real time-saver.
Copy-n-paste 1: mouse buttons
Use the old X11 school copy and paste: left mouse button swipes or starts the mark. Marking is implicit copying, because, let's face it, why else are you highlighting that text? Right button extends the mark/highlight. Middle button pastes. PuTTY can be set to understand this. Cygwin terminal understands it. Xterm understands it. It saves you clicks.
Copy-n-paste 2: hot key paste
Set up a hotkey paste that you can use from the keyboard. This will keep you from taking your hands off the keyboard groping for the mouse, then groping for the home row. I have this in my
XTerm*VT100*translations: #override \n\
That lets me use the
f2 function key on 104-button keyboards to paste into xterm windows, in which I run Zsh and Vim.
It's best to use hotkeys that your non-mouse-hand can work. That way, your mouse hand only coordinates mouse movement, and will probably work faster and more accurately.
Copy-n-paste 3: better definition of "a word"
This is for xterm mainly, but I did get PuTTY to understand this. Change the definition of "a word" so that double-clicks can pick up entire file names. From my
Once you merge in that resouce, '/', '.', '*' and a few other common characters are now part of "a word". When you double-click on a file name in an xterm, you will highlight (and implicitly copy!) the whole file name which is mostly what you want to do.
Copy-n-paste 4: extra goodies
A few more entries from
This means that a triple-click highlights from the word the mouse is on to the end of the line, but does not pick up the newline itself.
You can then paste into a Zsh prompt, do minor editing, and hit return. This makes it a lot faster to pick up parts of lines of text or parts of previous commands, then modify or correct them. It increases re-use.
Use a cut buffer display manager. I use xcb for its speed and simplicity. There are others.
xcb lets you save 7 items as well as the primary cut buffer (see above for a hotkey paste thing), and get at them with a click.
Window Manager Settings
Use focus-follows-mouse. "On top" and "in focus" don't conflate all that well and make your windowing system act like a bunch of modal pop-ups. If you use focus-follows-mouse, you can leave a window on top of an xterm that only shows the command prompt. Copy-n-paste from the window on top to the Zsh prompt is easy and fast with focus-follows-mouse.
If you use a window manager that allows defining hotkeys, define "come to the top" hotkey, and "iconify" hotkeys. They will come in handy, especially if you define hotkeys for your non-mouse hand. You can move the mouse to a window, and hotkey it into an icon, move again, iconify, etc. Very rapid.
Pick a window manager that makes sensible use of icons: does an icon represent a running process, a file, or what? Think about placing icons on the edges of the screen so that you get a little relief from Fitt's Law. If an icon is on or slightly off the top of the screen, your hand doesn't need to control the vertical movement of the mouse, you just ram it against the top of the screen. Your hand only has to coordinate left-right location.