Get the most out of your shell
There are some commands you use so often that you would not think there is room
for improvement there. Some time ago, I discovered
most, which is a pager meant as a replacement
for less (which was already a replacement for more, life is highly
cyclic). most is nice because of its sane features and keybindings (where
“sane” is a synonym for “emacs-like”) Among other features, it allows to split
windows, to scroll horizontally, act as tail and so on. Also, it has a nice
ncurses interface that displays useful information and colors. A standard
place for most is as the default pager, for example for viewing man pages.
export PAGER=most
This is what it looks like. Nice isn’t it ?

And it allows editing. Well, not directly. Ever wanted to just have a look at
a file, yes really, and then oh, if only I could change this line Let’s quit
less, and open this file under
emacs. Saint Ignucius would probably
say I’m not a true believer and that I deserve my fate it I’m not using
emacs as a pager, or even better as a shell. But still it happens to me all
the time. So, most allows one to define a MOST_EDITOR to be launched when
hitting e while viewing a file. Now I have this in my .zshrc :
export MOST_EDITOR='(file=%s; line=%d; emacsclient -t +$line $file -a zile +$line)'
The expression is a bit more complex than it should be because of a strange
limitation : the filename (%s) must be before the line number (%d) in
$MOST_EDITOR, which is exactly the contrary of the requirements for using
emacs or similar programsAnyway, what this command does is launch
emacsclient in the current tty (using the neat multi-tty feature) in order to
edit the current file at the current position. In case emacs is not running
(which is admittedly rare), we fallback to zile, an emacs-like
lightweight editor.