Vim ium C – 全部由鍵盤控制
Vimium C 是一款、免費開源的鍵盤增強類瀏覽器擴展,支持為異構的命令自行設置鍵盤。只要有鍵盤,您就可以自由點擊網頁中的鏈接和按鈕、選擇和複製文字和網址,也能夠輕鬆操作瀏覽器標籤頁,還可以在便捷的搜索框中輕鬆搜索歷史記錄、收藏夾和打開標籤頁等等。
差異的命令
它支持Vimium已有的所有命令和一些分區新命令,具體命令列表請參考安裝後設置界面的幫助對話框。而且同一個鍵盤可以在不同網站上分別觸發各自的命令,也可以基於當前鍵盤焦點處的頁面元素來觸發不同的命令。
支持很多網頁上的常用操作:
- 按F自動找到並標出可點擊的鏈接和按鈕,輸入一個定位標記上的文字即可點擊它
- 按字母O可以顯示一個方便美觀的搜索框,在裡邊可以輕鬆查找瀏覽歷史和收藏的網頁,還可以自定義搜索引擎來快速打開搜索頁面、查找已打開的標籤頁、實時計算數學表達式等等。甚至可以按Shift+Enter(上檔鍵+回車)來刪除選中的歷史記錄。
- 按 J/K/H/L 來像 VIM 里移動屏幕一樣滾動屏幕內容
- 按“/”顯示頁面內查找浮層,輸入“\r”可以做正則查找,“\w”會執行整詞匹配,還有\R、\W、\i和\I等多種搭配
- 按V進入自由選擇模式後,能像VIM一樣用J/K/H/L等快捷鍵修改文字的選擇範圍
- 按“?” 顯示幫助對話框,快速查看所有設置界面的快捷鍵
當需要操作瀏覽器標籤頁時,部分默認快捷鍵是:
- 按Shift+J、Shift+K、“g0”或“g$”來切換到左邊、右邊、最左或最右的標籤頁
- 按“^”(Shift+6)切換到最近訪問的上一個標籤頁
- 按 X 關閉當前網頁,然後按 Shift+X 可以恢復。關閉網頁時默認會保留一個窗口來避免瀏覽器退出
- 按“M+字母”創建標記,在其他網頁就可以按“`+字母”切換到(或者打開)該標記的網頁
- 按R刷新網頁,Shift+W移動網頁到下一個窗口,“yt”複製標籤頁
以上所有鍵盤都可以解綁或重新綁定其他命令,也可以添加新的鍵盤。綁定鍵盤到新的命令後,還可以實現靜音切換網頁、刪除其他網頁、切換網站的圖片/ JS功能權限、在無痕模式中重新打開等等。
快捷鍵最高級
大部分命令都支持按數字關閉來設置數量。比如“5”後跟“Shift+X”可以恢復5個最近關閉的標籤頁,然後依次按“-15X”這4個鍵重啟關閉當前和左邊的共有15個標籤頁。很多命令都支持通過參數來改變具體的操作細節,可以在快捷鍵中指定參數。
如果需要在某些網頁上特定破壞的快捷鍵,可以在擴展中設置里指定規則。篩選網址時可使用正則表達式,相關指定的快捷鍵列表支持“只破壞列表內”和“列表外”全部失效”(此時列出以“^”開頭)兩種模式。
普通快捷鍵是通過 JavaScript 腳本程序識別的,存在被其他攔截的可能性,也無法在一些瀏覽器內置頁面上使用。如果需要讓快捷鍵在瀏覽器的任何位置都生效,Vimium C 提供模塊了 8個快捷鍵,可以自由綁定到任何需要的命令上。但是要注意快捷鍵不支持按網址規則失效。
Vimium C 還提供了一個用於瀏覽器地址欄的搜索引擎“v”,在地址欄輸入“v + 空格”即可進入搜索模式。此模式類似於按字母O 顯示的搜索框,會自動搜索歷史記錄記錄和收藏夾,也可以指定搜索引擎修剪想要的網址。輸入“v + 空格 + :t + 空格 + 關鍵詞”即會在已打開的標籤頁中搜索。
中文處理的優化
- 支持識別網址中GBK編碼的漢字(比如百度貼吧網址的貼吧名)之前在搜索框中搜索,可以自定義要識別的編碼
- 在自由選擇模式中,使用w、e、b等處理詞彙的快捷鍵時,會在中文詞彙的開始/結束位置處停頓
- 瀏覽器語言設置為中文時,默認設置“百度搜索”為默認搜索引擎
- “上一頁”和“下一頁”功能默認會識別中文裡常用於翻頁按鈕的詞彙
安全與隱私
Vimium C 具有完善的安全機制:
- 處理網頁內容時,及時清理使用痕迹操作,執行命令期間的文字輸入、結果等都會被迅速丟棄
- 相關搜索框支持設置亮點詞來隱藏部分結果搜索(搜索激活了某亮點詞時則不)
- 當收到來自其他擴展程序的消息時,會按照一個用戶指定的受信任擴展標識符的列表來審核消息來源
- 可以關閉“藉助瀏覽器雲服務同步配置”的功能,且此同步功能不會同步頁面內查找歷史等信息
鍵盤綁定
本節修改自philc/vimium 的.
<c-x>
修飾鍵分別指定為Ctrl+x、Meta+x 和 Alt+x 的 、<m-x>
和。<a-x>
對於 Shift+X 和 Ctrl+Shift+X,只需鍵入X
和<c-s-x>
。有關如何自定義這些綁定的信息,請參閱下一節。
安裝 Vimium C 後,您可以隨時通過鍵入 來查看此鍵綁定列表?
。
導航當前頁面:
? show the help dialog for a list of all available keys
h scroll left
j scroll down
k scroll up
l scroll right
gg scroll to top of the page
G scroll to bottom of the page
d scroll down half a page
u scroll up half a page
f show hints for links and buttons to open in the current tab
F show link hints and open a link in a new tab
r reload
gs view source
i enter insert mode -- all commands will be ignored until you hit Esc to exit
yy copy the current url to the clipboard
yf copy a link url to the clipboard
gf cycle forward to the next frame
gF focus the main/top frame
導航到新頁面:
o open URL, bookmark, or history entry, on an English letter "o"
O open URL, bookmark, history entry in a new tab, on an English letter "O"
b open bookmark
B open bookmark in a new tab
使用查找:
/ enter find mode
-- type your search query and hit enter to search, or Esc to cancel
n cycle forward to the next find match
N cycle backward to the previous find match
有關高級用法,請參閱wiki 上的正則表達式。
瀏覽您的歷史記錄:
H go back in history
L go forward in history
操作選項卡:
J, gT go one tab left
K, gt go one tab right
g0 go to the first tab. Use `ng0` to go to n-th tab, on `g` and a number character of `0`
g$ go to the last tab
^ visit the previously-visited tab
t create tab
yt duplicate current tab
x close current tab
X restore closed tab (i.e. unwind the `x` command)
T search through your open tabs
W move current tab to new window
<a-p> pin/unpin current tab
使用標記:
ma, mA set local mark "a" (global mark "A")
`a, `A jump to local mark "a" (global mark "A")
`` jump back to the position before the previous jump
-- that is, before the previous gg, G, n, N, / or `a
其他高級瀏覽命令:
]], [[ follow the link labeled "next or ">" ("previous" or "<">)
- helpful for browsing paginated sites
<a-f> open multiple links in a new tab
gi focus the first (or n-th) text input box on the page. Use <tab> to cycle through options.
gu go up one level in the URL hierarchy
gU go up to root of the URL hierarchy
ge edit the current URL
gE edit the current URL and open in a new tab
zH scroll all the way left
zL scroll all the way right
v enter visual mode; use p/P to paste-and-go, use y to yank, use v/c/V to toggle visual/line/caret modes
V enter visual line mode
yc select a first word of a sentence and enter visual mode
Vimium C 支持命令重複,例如,點擊5t
將快速連續打開 5 個選項卡。<esc>
(或<c-[>
) 將清除隊列中的所有部分命令,並且還將退出插入和查找模式。
有一些高級命令未在此處記錄;請參閱幫助對話框(鍵入?
)以獲取完整列表。
自定義按鍵映射
本節修改自philc/vimium 的.
當您剛剛安裝 Vimium C 時,它將打開一個新選項卡來顯示其默認的按鍵映射,您也可以打開 Vimium C 的選項頁面並按?
(通常是Shift+/
)再次顯示這些映射。
您可以在選項頁面的“自定義鍵映射”中重新映射或取消映射任何默認鍵綁定。
每行輸入以下鍵映射命令之一:
map <key> command
:將鍵映射到 Vimium C 命令。覆蓋網頁的默認行為(如果有)。mapKey <key> <another_key>
:讓 Vimium C 將一個鍵視為另一個鍵。不會影響您的瀏覽器或網頁。unmap <key>
:取消映射鍵並恢復默認行為(如果有)。unmapAll
:取消映射所有綁定。如果您想完全擦除 Vimium C 的默認命令並使用您自己的設置從頭開始,這非常有用。
例子:
map r reload
將 r 鍵映射為重新加載頁面。map <c-d> scrollPageDown
將 Ctrl+D 映射為向下滾動頁面。unmap r
刪除 r 鍵的任何映射。unmap <c-d>
刪除 Ctrl+D 的任何映射並恢復網頁或瀏覽器的默認行為。unmap g0
g
刪除一個鍵和下一個鍵的任何映射0
。
?
可用的 Vimium C 命令可以通過選項頁面上的“顯示可用命令”鏈接或鍵找到。命令名稱顯示在說明右側的括號中。
您可以通過以"
或#
或空格字符和下一個#
字符開始一行來向鍵映射添加註釋。
以下特殊鍵可用於映射:
<c-*>
、<a-*>
、<s-*>
、<m-*>
分別代表 Ctrl、Alt、Shift 和 Meta(macOS 上的命令)和任意鍵。替換*
為所選的鍵名稱。<left>
、<right>
、<up>
、<down>
為方向鍵。<f1>
通過<f12>
為功能鍵。<space>
為空格鍵。<tab>
、<enter>
、<delete>
、<backspace>
、<insert>
和對於不可打印的<home>
按鍵<end>
以下是一些與 philc/vimium 不同的高級用法:
- Shift會自動檢測到,因此
&
對應於Shift+7英文 QWERTY 鍵盤。- 但是,如果單個鍵長度超過 1 個字符,請用
<
+括起來>
並插入一個s-
- 如果您想在按下多個修飾鍵時觸發某個鍵,請按
a/c/m/s-
字母順序對前綴進行排序 - 例如,這些鍵是有效名稱:
<s-left>
、<c-j>
、<a-s-k>
和<a-#>
<a-?>
- 但是,如果單個鍵長度超過 1 個字符,請用
mapKey <key:o> <another_key>
僅在名為 Vomnibar 的特殊模式下 使鍵作為另一個鍵工作mapKey
map
規則總是在密鑰與規則匹配之前生效- 其他一些模式列在https://github.com/gdh1995/vimium-c/wiki/Use-in-another-keyboard-layout#per-mode-mapkey
map <key:i> command
使按鍵僅在插入模式下觸發命令,而不是默認的正常模式- 自 v1.99.98 起,如果序列不是很長,則在正常模式和插入模式下
map! <single_key>
映射鍵- 例如,
map! jj
是無效的,但是map! <home>
和map! <c-j>
是合適的
- 例如,
unmap
只能取消映射手動映射的鍵或默認鍵,因此第二次unmap <key>
可能會導致錯誤unmap!
當您不確定某個鍵之前是否已映射時可以使用
- 數字鍵(
0
–9
和-
)默認映射到命令的“計數前綴”,因此不會傳遞到網頁。- 然後,即使在 之後
unmapAll
,它們也會自動添加回下一個map
- 你可以寫
unmap 0
明確地取消映射它
- 然後,即使在 之後
項目地址
https://github.com/gdh1995/vimium-c?tab=readme-ov-file
原創文章,作者:超哥,如若轉載,請註明出處:https://www.chaoneo.cn/zh-hant/archives/3641.html
如果您覺得超哥分享對您有所幫助的話,記得打賞給我😀