Browsing through other blogs on here recently, I came across a piece explaining how to set Firefox to use vi key bindings. Which sounded great; unfortunately, the method as advertised no longer works (Firefox 220.127.116.11).
A bit more digging revealed a more up-to-date version. More complicated, as well - you have to unzip [firefox_dir]/chrome/toolkit.jar, edit the platformHTMLBindings.xml file to include the lines
<handler event=”keypress” key=”h” command=”cmd_scrollLeft”/>
<handler event=”keypress” key=”j” command=”cmd_scrollLineDown”/>
<handler event=”keypress” key=”k” command=”cmd_scrollLineUp”/>
<handler event=”keypress” key=”l” command=”cmd_scrollRight”/>
<handler event=”keypress” key=”u” command=”cmd_scrollPageUp” />
and then zip it back up again (keeping the old version for reference is probably wise).
Restarting Firefox and still no joy - any typing still went straight to the ‘find ahead’ toolbar. Final step, then: open about:config (type ‘about:config’ in the address bar) and set accessibility:typeaheadfind to false. This does mean you have to type / to start searching but personally my fingers do that automatically anyway so it’s not much of a disincentive; and scrolling without needing to move to either arrow keypad or mouse is a definite plus. Now I just need to retrain my hands to do so!