将lynx中的关键点映射为运行shell命令
是否可以向lynx(在配置文件~/.lynxrc中)添加一个自定义键映射,该键映射将信息(例如当前URL、html、标题等)发送到shell命令 一个示例用例: 我在OSX上,shell有一个命令将lynx中的关键点映射为运行shell命令,shell,command-line,keyboard-shortcuts,lynx,Shell,Command Line,Keyboard Shortcuts,Lynx,是否可以向lynx(在配置文件~/.lynxrc中)添加一个自定义键映射,该键映射将信息(例如当前URL、html、标题等)发送到shell命令 一个示例用例: 我在OSX上,shell有一个命令open,它试图以默认方式打开任何给定给它的内容。因此,如果我在lynx中,希望将当前网页移动到默认浏览器,我希望从shell调用打开当前url 另一个: 通过向shell脚本(或其他内容)发送URL和标题来整理有组织的书签文件 使用默认的键映射打开默认的shell,但它既没有给我URL,也没有像我希望
open
,它试图以默认方式打开任何给定给它的内容。因此,如果我在lynx中,希望将当前网页移动到默认浏览器,我希望从shell调用打开当前url
另一个:
通过向shell脚本(或其他内容)发送URL和标题来整理有组织的书签文件
使用默认的键映射
打开默认的shell,但它既没有给我URL,也没有像我希望的那样运行单个命令并返回lynx
任何想法都将不胜感激。事实上,我最终找到了两种方法来处理这个问题。有些人比其他人更理想。需要对默认的lynx.cfg文件进行一些挖掘,才能找到其中的一些原因 以下是我从lynx向shell命令发送信息的两种最成功的方法:
--enable extern
,这在MacPorts版本的lynx中不可用,因此您必须从源代码处安装)
# in lynx.cfg
# EXTERNAL:<url>:<command> %s:<norestriction>:<allow_for_activate>[:environment]
# Ex 1: send the url to `open <url>` to open default browser
EXTERNAL:http:open %s:TRUE
# Ex 2: download with wget if ftp page
EXTERNAL:ftp:wget %s &:TRUE
# By default ',' and '.' map to running EXTERNAL on the page and link respectively
# KEYMAP:,:EXTERN_PAGE # Run external program with current page
# KEYMAP:.:EXTERN_LINK # Run external program with current link
# in lynx.cfg
# PRINTER:<name>:<command>:<option>:<lines/page>[:<environment>]
PRINTER:openurl:/Users/username/bin/openurl %s:TRUE
#!/bin/sh
# /Users/username/bin/openurl
url=$LYNX_PRINT_URL
title=$LYNX_PRINT_TITLE
# other variables exist like the date etc... look them up :)
# http://osr600doc.sco.com/en/INT_lynxDoc/keystrokes/environments.html
# perform magic ...
/usr/bin/open $url