Long ago, I was made a how to view CHM files on gnu+linux.
But, a long ago too, I’m using CHMsee because doesn’t need lot of dependencies like Gnochm and works so well :)
If you’ve many ebooks and want to read them -and share them, of course- I recomend you chmsee – and now it’s on Arch’s official repos.
Ah, thanks to my friend Sebastian who helped me reporting errors on chmsee’s issues (because him has gmail account) and jungleji for him interesed on solving bugs.

To move among the commands in your history, use the up arrow and down arrow. When a command is displayed, you can use the keyboard to edit the current command like any other command: left arrow, right arrow, Delete, Backspace, and so on. Here are some other ways to recall and run commands from your bash history:

Run the previous command

$ !!

Run command number 997 from history

$ !997 ls -CF

Append *doc to command 997 from history

$ !997 *doc ls -CF *doc

Run previous command line containing the CF string

$ !?CF? ls -CF *doc

Run the previous ls command

$ !ls ls -CF *doc

Run previous ls command, replacing CF with l

$ !ls:s/CF/l ls -l *doc

Another way to edit the command history is using the fc command. With fc, you open the chosen command from history using the vi editor. The edited command runs when you exit the editor. Change to a different editor by setting the FCEDIT variable (for example, FCEDIT=gedit) or on the fc command line. For example:

Edit command number 978, then run it

$ fc 978

Edit the previous command, then run it

$ fc

Use nano to edit command 989

$ fc -e /usr/local/bin/nano 989

Use Ctrl+r to search for a string in history. For example, typing Ctrl+r followed by the string ss resulted in the following:

(reverse-i-search)`ss’: sudo /usr/bin/less /var/log/messages

Press Ctrl+r repeatedly to search backward through your history list for other occurrences of the ss string.