From 6f75ec292970c83182d097584ea8241ef2b2cfa1 Mon Sep 17 00:00:00 2001 From: Henrik Bakken Date: Tue, 20 May 2025 08:38:03 +0200 Subject: [PATCH] w3m added --- HOME/.w3m/keymap | 330 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 330 insertions(+) create mode 100644 HOME/.w3m/keymap diff --git a/HOME/.w3m/keymap b/HOME/.w3m/keymap new file mode 100644 index 0000000..fd4b7b7 --- /dev/null +++ b/HOME/.w3m/keymap @@ -0,0 +1,330 @@ +# Ctrl : C-, ^ +# Escape: ESC-, M-, ^[ +# Space : SPC, ' ' +# Tab : TAB, ^i, ^I +# Delete: DEL, ^? +# Up : UP, ^[[A +# Down : DOWN, ^[[B +# Right : RIGHT, ^[[C +# Left : LEFT, ^[[D + +# Marks {{{ + +# The most important +keymap m MARK +keymap . NEXT_MARK +keymap , PREV_MARK +# Mark all search terms +keymap \" REG_MARK +# Mark URL-like strings as anchors +keymap : NULL +keymap ";" MARK_URL +# Mark current word as URL +keymap M-";" MARK_WORD +keymap M-: MARK_MID + +# }}} +# Navigation, links, tabs {{{ + +# Scroll screen up one line +keymap C-e UP +keymap J UP +# Scroll screen down one line +keymap K DOWN +keymap C-y DOWN +# Scroll screen left +keymap M-, LEFT +# Scroll screen right +keymap M-. RIGHT + +# Movement across the page +keymap h MOVE_LEFT +keymap C-p MOVE_UP +keymap k MOVE_UP +keymap C-n MOVE_DOWN +keymap j MOVE_DOWN +keymap l MOVE_RIGHT +keymap M-< SHIFT_LEFT +keymap M-> SHIFT_RIGHT +keymap b PREV_WORD +keymap w NEXT_WORD + +# Various ways to to proceed page by page +keymap = NEXT_PAGE +keymap + NEXT_PAGE +keymap C-d NEXT_PAGE +keymap SPC NEXT_PAGE +keymap DOWN NEXT_PAGE +keymap - PREV_PAGE +keymap C-u PREV_PAGE +keymap UP PREV_PAGE + +keymap TAB NEXT_LINK +keymap M-TAB PREV_LINK + +# First link on page +keymap [ LINK_BEGIN +# Last link +keymap ] LINK_END + +keymap C-a LINE_BEGIN +keymap 0 LINE_BEGIN +keymap \^ LINE_BEGIN +keymap $ LINE_END + +# Top of page +keymap g NULL +keymap gg BEGIN +# Bottom of page +keymap G END +# Undo last movement/jump across the page +keymap ( UNDO +# Redo the same +keymap ) REDO +keymap M-g GOTO_LINE +keymap Z CENTER_H +keymap z CENTER_V + +# }}} +# Search {{{ + +# Incremental search +keymap C-r ISEARCH_BACK +keymap C-s ISEARCH + +# Regular search +keymap / SEARCH +keymap ? SEARCH_BACK +keymap N SEARCH_PREV +keymap n SEARCH_NEXT + +# }}} +# Tab operations {{{ + +keymap { PREV_TAB +keymap DEL PREV_TAB +keymap } NEXT_TAB + +# Move tabs around +keymap M-{ TAB_LEFT +keymap M-} TAB_RIGHT + +keymap C-q CLOSE_TAB +keymap C-w CLOSE_TAB +keymap C-t NEW_TAB +keymap M-t TAB_MENU + +# }}} +# Links {{{ + +# Open link in new tab +keymap t TAB_LINK +keymap T TAB_LINK + +keymap a SAVE_LINK + +# Open current link in ext browser (application) defined in the config file +keymap o EXTERN_LINK +keymap M-M EXTERN_LINK + +# Custom EXTERN/EXTERN_LINK commands +# https://github.com/gotbletu/shownotes/blob/master/w3m_extern_link.md +# Also see https://github.com/gotbletu/dotfiles_v2 for some of the below CGIs + +# yank url to multiple clipboard +keymap yy EXTERN_LINK "url=%s ; printf "%b" "$url" | xsel -b ; printf "%b" "$url" | tmux load-buffer -" +keymap YY EXTERN "url=%s ; printf "%b" "$url" | xsel -b ; printf "%b" "$url" | tmux load-buffer -" + +keymap xa EXTERN "~/.w3m/cgi-bin/save_bookmark_surfraw.cgi" +keymap xB COMMAND "EXTERN ~/.w3m/cgi-bin/fzf_bookmarks_surfraw.cgi; GOTO file:/cgi-bin/goto_tmux_clipboard.cgi" +keymap xb COMMAND "EXTERN ~/.w3m/cgi-bin/fzf_bookmarks_w3m.cgi; GOTO file:/cgi-bin/goto_tmux_clipboard.cgi" +# queue download, external media player (queued), etc +keymap xc EXTERN_LINK 'NQDIR=$XDG_CACHE_HOME/w3m_queue nq curl -s --output-dir ~/Downloads -O' +keymap xd EXTERN_LINK 'NQDIR=$XDG_CACHE_HOME/w3m_queue nq wget -q -c -P ~/Downloads' +# Requires config option ext_image_viewer 0 +keymap xi EXTERN_LINK 'w3m -o display_image=1 -o imgdisplay=w3mimgdisplay' +keymap xm EXTERN_LINK "NQDIR=$XDG_CACHE_HOME/mpv_queue nq mpv --quiet --ytdl-format='bestvideo[height<=480]+bestaudio/best[height<=480]' >/dev/null 2>&1" + +# The surfraw engine too slow on Termux and not useful in common workflow +#keymap xf COMMAND "SHELL ~/.w3m/cgi-bin/fzf_surfraw_tmux.cgi; GOTO file:/cgi-bin/goto_tmux_clipboard.cgi" + +# queue-monitoring +keymap xs SHELL 'watch NQDIR=$XDG_CACHE_HOME/w3m_queue fq -anq \| tail' +keymap xS SHELL 'watch NQDIR=$XDG_CACHE_HOME/mpv_queue fq -anq \| tail' + +# Display the link url +keymap u PEEK_LINK +# menu of links +keymap M-l LIST_MENU +# Another link list +keymap L LIST +# jump to link in page (same as LIST_MENU?) +keymap M-M MOVE_LIST_MENU + +# }}} +# Buffer operations {{{ + +# Previous buffer, close current +keymap B BACK +# Navigate back without deleting current buffer +keymap < PREV +keymap LEFT PREV +# Navigate forward without deleting current buffer +keymap > NEXT +keymap RIGHT NEXT +# Display current buffer URL +keymap c PEEK +# Pop-up menu with open buffers +keymap s SELECT_MENU +# Open current buffer in an external browser (app) +keymap O EXTERN +# Open new URL +keymap U GOTO +keymap M-u GOTO_RELATIVE +# Open local file +keymap V LOAD +keymap :e LOAD + +# edit buffer (the textual rendering, not the html source) in VIM (or editor) +keymap M-e EDIT_SCREEN +# Edit source in VIM (or editor) +keymap E EDIT + +keymap | PIPE_BUF + +# Save buffer +keymap S SAVE_SCREEN +# Save html (source) +keymap M-s SAVE +keymap :w SAVE + +keymap C-l REDRAW + +# Reload source URL +keymap R RELOAD + +# View source +keymap v VIEW + +# }}} +# Image operations {{{ +# See /usr/share/doc/w3m/README.img +# Hover over image placeholder to view externally +keymap I VIEW_IMAGE + +keymap M-I SAVE_IMAGE +# Peek at image URL while hovered over placeholder +keymap i PEEK_IMG + +# }}} +# Misc {{{ + +keymap gM MAIN_MENU + +# Trigger input field submit action +keymap C-c SUBMIT +# Current line #, total lines, cols, etc +keymap C-g LINE_INFO +# Browsing history +keymap C-h HISTORY +#keymap C-k COOKIE +# Options page +keymap C-o OPTIONS +# Reload config options +keymap M-r REINIT +keymap M-o SET_OPTION +keymap C-z SUSPEND +keymap ! SHELL +keymap # PIPE_SHELL +keymap @ READ_SHELL +# page info, including the response HTTP header +keymap M-+ INFO +keymap D DOWNLOAD_LIST +# Toggle frames +keymap F FRAME +# View the key mappings (with w3m descriptions), including the possible unassigned commands +keymap H HELP +keymap M-m MOUSE_TOGGLE +keymap ZZ QUIT +keymap q QUIT +keymap Q NULL +keymap ZQ EXIT +keymap r VERSION + +# Optionally configurable menu (~/.w3m/menu) +keymap M MENU + +keymap M-a ADD_BOOKMARK +# Bookmark page +keymap M-b BOOKMARK +# Run internal command +keymap :: COMMAND +keymap M-c COMMAND +keymap M-k DEFINE_KEY +# Invoke the external dictionary with input word +keymap M-w DICT_WORD +# Invoke the dictionary with word under cursor +keymap M-W DICT_WORD_AT + +keymap W WRAP_TOGGLE +# }}} +# User-defined bindings {{{ +keymap :b SHELL "$EDITOR ~/.config/surfraw/bookmarks" +keymap :c SHELL "$EDITOR ~/.w3m/config" +keymap :k SHELL "$EDITOR ~/.w3m/keymap" +keymap :u SHELL "$EDITOR ~/.w3m/urimethodmap" +# }}} +# Scripts/cgi-bin {{{ +keymap pp GOTO file:/cgi-bin/goto_clipboard.cgi +keymap pt GOTO file:/cgi-bin/goto_tmux_clipboard.cgi +# }}} +# Macros {{{ + +# strip out extra 'pre-content' on CMS-rich or wordpress sites with id="content" tag +#keymap M-7 COMMAND "VIEW; PIPE_BUF \"sed -n '1,/ + [ +keymap \\\h COMMAND "SET_OPTION display_link_number=toggle ; RESHAPE" +# Hinting mode for lines: proceed with + g +keymap \\\l COMMAND "SET_OPTION show_lnum=toggle ; RESHAPE" +keymap \\\t COMMAND "SET_OPTION display_borders=toggle ; RESHAPE" +keymap \\\i COMMAND "SET_OPTION display_image=toggle ; RELOAD" +keymap \\\e COMMAND "SET_OPTION user_agent='' ; RELOAD" +keymap \\\A COMMAND "SET_OPTION user_agent='Opera/9.80 (S60; SymbOS; Opera Mobi/SYB-1107071606; U; en) Presto/2.8.149 Version/11.10' ; RELOAD" +# Open search engine, proceed to and select the search box +keymap M-/ COMMAND "GOTO https://duckduckgo.com/lite/; NEXT_LINK; GOTO_LINK" +keymap \\\s COMMAND "GOTO https://duckduckgo.com/lite/; NEXT_LINK; GOTO_LINK" +keymap \\\g COMMAND "GOTO https://google.com; GOTO_LINE 6; NEXT_LINK; GOTO_LINK" +keymap \\\w GOTO http://wttr.in/?lang=fr&m +# Pipe to an external table-to-csv converter, then edit the rendered buffer +keymap \\\T COMMAND "VIEW; PIPE_BUF tabletocsv; EDIT_SCREEN" +keymap \\\L COMMAND "PIPE_BUF linkgrabber; BACK; REDRAW" +# Open add-bookmark dialogue, editing bookmark title +keymap \\\b COMMAND "ADD_BOOKMARK; LINK_END; PREV_LINK; GOTO_LINK" +# Pass the page through the readability (readability-cli) plugin +# reqs: https://aur.archlinux.org/readability-cli.git, nodejs > 12 +keymap \\\r COMMAND "READ_SHELL 'readable $W3M_URL -p html-title,html-content > /tmp/readable.html' ; LOAD /tmp/readable.html; DELETE_PREVBUF" + +# }}} +# Mouse Ops {{{ + +keymap M-[E MENU +keymap M-[L MENU +keymap M-[Z PREV_LINK + +keymap M-[1~ BEGIN +keymap M-[2~ MENU +keymap M-[4~ END +keymap M-[5~ PREV_PAGE +keymap M-[6~ NEXT_PAGE +keymap M-[28~ MENU + +# }}}