2012-07-31

自訂 w3m 快捷鍵

凍仁一直以來都很喜愛命令列 (console) 以及文字摸式 (text-base) 的世界,其原因很簡單,那就是可以一式解百招,只要是 Unix-like 的系統幾乎都能適用,但要真的碰上問題多少還是會想上網尋求答案,尤其是 man 也解決不了的時候,這時就是純文字瀏覽器出場的時候了,比較知名的純文字瀏覽器有 Links, Lynx 和 w3m ... 等。

或許會有人問,明明就有 Firefox 了為何還要使用純文字瀏覽器?那是因為並不是每一台 Linux 都會裝到 Gnome, KDE, Unity 這類的 X-window,既然連 X-window 都沒有裝了,更何況是 Firefox 呢,多個壓箱寶才可以備不時之需!

嘗試過各種純文字瀏覽器以後,凍仁選上了 Vim-like 的 w3m 來專精,雖說都是 Vim-like 但快捷鍵 (Shortcuts) 的部份還是與 Pentadactyl 有些許出入,好在 w3m 有 keymap,補個小小設定檔就可以立大功了!

1. w3m 快捷鍵預設使用 Vim-like 模式。
[ jonny@precise ~ ]
$ vi /usr/share/doc/w3m/examples/keymap.default [Enter]
  1 # A sample of ~/.w3m/keymap (default)
  2 #
  3 # Ctrl  : C-, ^
  4 # Escape: ESC-, M-, ^[
  5 # Space : SPC, ' '
  6 # Tab   : TAB, ^i, ^I
  7 # Delete: DEL, ^?
  8 # Up    : UP, ^[[A
  9 # Down  : DOWN, ^[[B
 10 # Right : RIGHT, ^[[C
 11 # Left  : LEFT, ^[[D

# TAB - 游標跳至下個連結。
 20 keymap  TAB NEXT_LINK

# Ctrl + j - 進入連結,同 Enter
 21 keymap  C-j GOTO_LINK

# SPACE - 往下捲一頁。
 36 keymap  SPC NEXT_PAGE

# B - 回到上一頁,同 Firefox 的 Go back one page。
 55 keymap  B   BACK

# G - 將游標移至文章結尾。
 59 keymap  G   END

# H - 說明。
 60 keymap  H   HELP

# Q - 離開。
 67 keymap  Q   EXIT

# T - 複製分頁。
 70 keymap  T   NEW_TAB

# U - 開啟網址列。
 71 keymap  U   GOTO

# b - 往上捲一頁。
 79 keymap  b   PREV_PAGE

# g - 將游標移至文章開頭。
 81 keymap  g   BEGIN

# h - 向左移動游標。
 82 keymap  h   MOVE_LEFT

# j - 向下移動游標。
 84 keymap  j   MOVE_DOWN

# k - 向上移動游標。
 85 keymap  k   MOVE_UP

# l - 向右移動游標。
 86 keymap  l   MOVE_RIGHT

# o - 選項 (進階設定)。
 89 keymap  o   OPTIONS

# q - 離開 (有提示訊息,並詢問是否離開)。
 90 keymap  q   QUIT

# u - 檢視網頁連結。
 93 keymap  u   PEEK_LINK

# v - 檢視原始碼。
 94 keymap  v   VIEW

# { - 切換至上個分頁,同 Firefox 的 Ctrl + PgUp
 97 keymap  {   PREV_TAB

# } - 切換至下個分頁,同 Firefox 的 Ctrl + PgDn
 99 keymap  }   NEXT_TAB

# ESC + TAB - 將游標移至上個連結。
101 keymap  M-TAB   PREV_LINK

# ESC + a - 加入書籤。
111 keymap  M-a ADD_BOOKMARK

# ESC + b - 開啟書籤庫。
112 keymap  M-b BOOKMARK

# ESC + m - 開啟連結選單並直接進入選取的連結。
117 keymap  M-l LIST_MENU

# ESC + m - 開啟連結選單並將游標移至選取的連結上。
 118 keymap M-m MOVE_LIST_MENU

2. 以下為凍仁自訂的快捷鍵。
[ jonny@precise ~ ]
$ vi $HOME/.w3m/keymap [Enter]
 1 # d - 關閉分頁 (Ctrl + q)。
 2 keymap  d   CLOSE_TAB
 3 
 4 # F - 使用新分頁開啟連結 (Ctrl + t)。
 5 keymap  F   TAB_LINK
 6 
 7 # t + j - 切換至上個分頁 ({)。
 8 keymap  tj  PREV_TAB
 9 
10 # t + k - 切換至下個分頁 ({)。
11 keymap  tk  NEXT_TAB
12 
13 # Ctrl + b - 將游標移至上個連結 (ESC + TAB)。
14 keymap  C-b PREV_LINK
15 
16 # ESC + f - 使用選單快速開啟連結 (ESC + l)。
17 keymap  M-f LIST_MENU

3. 習慣 Lynx 的伙伴可以參考 keymap.lynx。
[ jonny@precise ~ ]
$ head /usr/share/doc/w3m/examples/keymap.lynx [Enter]
# A sample of ~/.w3m/keymap (lynx-like)
#
# Ctrl : C-, ^
# Escape: ESC-, M-, ^[
# Space : SPC, ' '
# Tab : TAB, ^i, ^I
# Delete: DEL, ^?
# Up : UP, ^[[A
# Down : DOWN, ^[[B
# Right : RIGHT, ^[[C

若您跟凍仁一樣是 NOKIA N900 的用戶,不妨也來玩玩看,相信它絕對不會辜負您的期待的!但前題是您要先將它裝起來才行

資料來源:
/usr/share/doc/w3m/examples/keymap.default