Alt-< 和 Alt-> (可能還有其他一些鍵)在 elinks 中不起作用
我在 Debian netinstall (7.8) 上的 Openbox 的 xterm 視窗中執行 elinks (0.12pre5),更改/附加軟體安裝相當少。我已經更改了一些 elinks 選項,但似乎沒有一個與此問題相關。特別是,我沒有更改任何鍵綁定。我已經安裝了 terminus-fonts 包,如果這是相關的。
根據
man elinkskeys
,Alt
+<
和Alt
+>
應該在編輯文本框時跳轉到目前緩衝區的第一行或最後一行,否則將選項卡向左或向右移動。對我來說,他們都不做這些事情。編輯文本框時,Alt
+<
(即Alt
++ )生成字元(1/4 的合成版本),+ (即Shift
++ )生成字元(3/4 的合成版本)。我也嘗試省略; +給出和+給出。當不編輯文本框時,這些擊鍵似乎都不起作用。,``¼``Alt``>``Alt``Shift``.``¾``Shift``Alt``,``¬``Alt``.``®
在可能相關的註釋中,手冊頁表明,在編輯文本框時,
Ctrl
+A
和Home
“轉到頁面/行的開頭”和Ctrl
+E
和End
“轉到頁面/行的末尾”。事實上,所有四次擊鍵都按預期進入一行的開頭/結尾,但不要在行之間移動游標,即使重複敲擊或按住也不行。因此,我似乎沒有辦法在文本框中一次垂直移動超過一行。
Tab
和Shift
+Tab
在編輯時似乎也不做任何事情(我不希望Alt
+Tab
做任何事情,因為這可能被 Openbox 搶占了——我希望它是!)。我不確定這是否是我關閉 taborder 的結果,我之所以這樣做是因為它與某些頁面上的編號連結互動不良。
在過去,男人是真正的男人,女人是真正的女人,來自 Alpha Centauri 的小毛茸茸生物是來自 Alpha Centauri 的真正的小毛茸茸生物,盎格魯撒克遜程序員認為 95 個可列印字元和 33 個控製字元對每個人來說都足夠了。字節幾乎是 8 位大,但 7 位對於所有字元來說就足夠了,因此每個表示字元的字節都有一個備用位。許多終端製造商決定好好利用這些備用設備。終端通常有一個修飾鍵來表示“我想呼叫一個命令”而不是“我想輸入一個字元”,稱為Meta。如此多的終端使用該備用位來指示“元密鑰已關閉”。例如,按下
.
發送字節值 46(字元的 ASCII 碼.
); 按Meta
+.
發送字節值 46+128 = 174。然後使用歐洲語言的人也想使用電腦。他們需要能夠用其他字母和帶有變音符號的字元書寫,而說英語和非英語的人都希望有更多的標點符號。所以他們設計了許多字元編碼來擴展 ASCII 以利用第 8 位。例如,在 ISO 8859-1 編碼(又名 Latin-1)中,字節值 174 對字元進行編碼
®
。在Meta
密鑰被編碼為設置字節值的第 8 位的終端上,當執行期望以 ISO 8859-1 編碼的輸入的應用程序時,按Meta
+.
有效地發送字元®
。一些歐洲人開始記住
Meta
+.
會插入®
,Meta
+i
會插入Meta
+é
,等等。但這對不想記憶的人沒有幫助。幸運的是,還有其他解決方案,例如國家鍵盤變體(法國人得到一個é
鍵,瑞典人得到一個å
鍵,等等)、死鍵和組合鍵。無論如何,該解決方案不適用於需要超過 256 個不同字元的人,例如說大多數亞洲語言的人。與此同時,另一種更常見的
Meta
密鑰編碼約定演變:讓它在密鑰編碼之前發送轉義字元。例如,Meta
+.
將發送與 , 相同的兩字節Esc
序列.
。這是當今大多數應用程序所期望的。將
Meta
密鑰設置為第 8 位是一項早已過時的技術決策,但它仍然存在於某些系統的預設配置中。PC 鍵盤沒有標有 的鍵Meta
,但它們的鍵標Alt
在同一位置並具有相同的預期效果,因此無論您在何處閱讀有關“Meta”鍵的資訊,都適用於“Alt”。
Meta
由於歷史原因,Xterm 預設設置了第 8 位。要使其發送轉義字元,您需要:
- 將
metaSendsEscape
資源設置為true
(也有altSendsEscape
,但僅當您將altIsNotMeta
資源設置為 時才適用,這僅在您的鍵盤上有和鍵true
時才有用);或者Alt``Meta
- 將
eightBitInput
資源設置為false
(儘管有名稱,但這不會阻止非 ASCII 輸入,這僅確定Meta
+character
發送的內容)。將以下任一行放入文件中
~/.Xresources
:XTerm.VT100.eightBitInput: false XTerm.VT100.metaSendsEscape: true
執行
xrdb -merge ~/.Xresources
以重新載入此文件。大多數環境安排在您啟動 GUI 時執行此命令;如果您沒有,請將其添加到您的 GUI 登錄腳本中。您還可以在+菜單中切換
metaSendsEscape
資源(“Meta Sends Escape”)。這只會影響您使用它的 xterm 實例。Ctrl``Left-Click
您的其他連結鍵盤快捷鍵問題與連結有關,與終端無關。