![Qutebrowser - 使用单行代码定义键绑定(而不是配置文件)](https://linux22.com/image/1568892/Qutebrowser%20-%20%E4%BD%BF%E7%94%A8%E5%8D%95%E8%A1%8C%E4%BB%A3%E7%A0%81%E5%AE%9A%E4%B9%89%E9%94%AE%E7%BB%91%E5%AE%9A%EF%BC%88%E8%80%8C%E4%B8%8D%E6%98%AF%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%89.png)
我正在尝试用 Qutebrowser 编写一个非常简单的包装器,并且我想在执行二进制文件的同一行中定义我的键绑定;例如qutebrowser --target window --set content.cookies.store false :bind <Alt-g>o hint
。
您可能知道,Qutebrowser 的设置通常在设置文件和输入文件中定义。在手册和评论中,我了解到前一个文件的大部分内容(就我的用例而言,是全部内容)都可以用参数 --set OPTION VALUE 替换。经过测试,它有效。然而,我无法让后者按照我想要的方式运行。
在手册页中,它说您可以让 Qutebrowser 在启动时执行命令,类似于:qutebrowser :command FOO BAR
。在 Qutebrowser 会话中,如果您执行类似 :bind hint 的命令,它会起作用(虽然我实际上想将 hint 绑定到 Alt-g o,但我不知道如何表达);hint 绑定到 Alt-g,当我使用该绑定时,它会激活提示模式。如果我清除设置(即使它们是交互式定义的,它们也会在会话之间持续存在)并再次打开浏览器并在调用 Qutebrowser 时定义该绑定,则不会产生任何影响。
我的另一个问题是我不知道如何表达关键和弦“Alt-g o”。我希望对依赖于 Alt-g 前缀的不同提示命令有类似的绑定(因此,:bind <Alt-g o> hint
, :bind <Alt-g O> hint window
),但我需要先解决上一个问题。
是的,我知道--basedir
。我宁愿不发生这种争论,因为这意味着包装器不是真正的可移植的,而且我也认为配置文件很烦人。
答案1
我实际上想将提示绑定到 Alt-g o,但我不知道如何表达这一点
根据帮助文件你应该使用类似的东西:
: bind <Alt-G>o hint
绑定
句法:
:bind [--mode mode] [--default] [key] [command]
将一个键绑定到一个命令。
如果没有给出命令,则显示给定键的当前绑定。使用 :bind 而不使用任何参数会打开一个显示所有键绑定的页面。位置参数
key:要绑定的钥匙串。有效钥匙串的示例包括
gC
、<Ctrl-X>
或<Ctrl-C>a
。命令:要执行的命令,带有可选的参数。
可选参数
-m, --mode:以逗号分隔的绑定键模式列表(默认值:normal)。请参阅 :help bindings.commands 了解可用模式。
-d,--default:如果给定,则恢复默认绑定。
笔记
此命令不会在最后一个参数后拆分参数,而是按字面意思处理引号。
使用此命令,;; 将被按字面意思解释,而不是拆分出第二个命令。
此命令不会替换{url}之类的变量。