I’ve been getting potential RSI type pain in my hands. I’m taking steps to ergonomically improve my workspace, but I’m also attempting to stop using my mouse, as this seems part of the cause. My habit is to work on two screens, with the main screen arranged with an emacs window on the right, a terminal on the left (running R), and plots appearing on the other (rotated) screen, thus:
+------------+ +------------+-----------+ | | | | | | | | | | | | | (term) | (emacs) | | (plots) | | | | | | | | | | | | | | | | |------------|-----------| | | +------------+
I typically type in emacs, highlight with mouse, then paste with middle click into the terminal. I’ve had this habit since at least 1997, so it is rather ingrained. It works well, because I can switch from writing R to ruby or perl and use the same muscle memory. This post is mostly about changing that habit.
I’m traditionally a minimimalist. I used to use blackbox. I’ve been using XFCE4 for a while now, because it copes well with my two screen setup. But, it pretty much relies on a mouse to move windows. So I’ve switched to unity. Unity has received a lot of ciriticism because it takes the mac approach and disconnects the menus from the window, putting them at the top of the screen, always. This works well if you use a small mobile device, but not so well for a big screen with lots of windows tiled and use the mouse to do things via menus. However, for keyboard navigation, it works great. The big advantage over XFCE4 comes with the keyboard shortcuts to switch workspaces or position windows around the screen. This is just fantastic.
Cut and paste without the mouse
Linux has a clipboard and a selection buffer. Highlighting something in emacs (
C-space + cursor keys) puts it in the selection buffer. Switch windows (
Alt + TAB) and you can paste it with
Shift + Insert. This is much easier than persuading emacs to use the clipboard (
M-w after selecting) and pasting into a terminal (
Moving between emacs windows more easily
I can split emacs windows (
C-x 2) and then switch between them (
C-x o), but
C-x isn’t great to type. WindMove http://www.emacswiki.org/emacs/WindMove looks like a useful alternative.
~/.emacs, I did
(when (fboundp 'windmove-default-keybindings) (windmove-default-keybindings)) (windmove-default-keybindings 'super)
super-down switch windows withing emacs.
Emacs speaks statistics
For a long-term emacs user, who uses ESS for writing R code, it’s perhaps odd that I’ve never liked running R within emacs. So now, as well as the keyboard driven cut/paste above, I’m trying to run R within emacs. I need to run R on a different server to that on which I use emacs. So I put
The mouseless browing addon is fantastic. Links come up with numbers, so you can type the number instead of click the link.
In thunderbird, you can move between the panes (message, folders, message list) with F6. But knowing what pane you are in is difficult, there is very limited visual indication. http://www.pbandjelly.org/2010/04/my-thunderbird-3-fix-ups/ has a suggested userChrome.css which can be put in the chrome directory within the Thunderbird profile directory (create the chrome directory if it doesn’t exist). This gives stronger highlighting to the pane currently selected.
Wacom Bamboo Pad
I am experimenting with a Wacom Bamboo Pad as an alternative to a mouse. It took some effort to get it working on ubuntu, but so far it seems very useful. Holding a pen instead of a mouse changes the angle of the arm, which is good, although learning to move the mouse with the pen is a bit tough. It has the added benefit that with xournal, I can use the pen to write notes directly instead of typing, or annotated pdfs. Again, learning to write this way will take a while, I suspect.