在 rxvt-unicode 中映射 Control-Shift-Tab
我想將鍵綁定
Ctrl
++Shift
映射Tab
到rxvt-unicode
. 我設法映射Ctrl
+Tab
如下。中對應的條目.Xresources
是URxvt.keysym.Control-Tab: \033[27;5;9~
使用
cat -v
確認此映射有效:$ cat -v ^[[27;5;9~
然後該序列
^[[27;5;9~
可vim
用於映射Ctrl
+等應用程序中Tab
。我希望以下.Xresources
條目也能正常工作。URxvt.keysym.Control-Shift-Tab: \033[27;6;9~
但是,
cat
沒有顯示正確的映射:$ cat -v ^[[Z
如何設置
Ctrl
++Shift
映射Tab
?編輯
映射
URxvt.keysym.Control-ISO_Left_Tab: \033[27;6;9~ URxvt.keysym.Control-Shift-ISO_Left_Tab: \033[27;6;9~
行為相同。在第一次按下
Ctrl
+之後Tab
,釋放兩個然後按下Return
兩次然後按下Ctrl
+Shift
+Tab
,釋放所有然後按下Return
兩次我得到以下輸出:$ cat -v ^[[27;5;9~ ^[[27;5;9~ ^[[27;6;9~↵ ^[[27;6;9~M-bM-^FM-5
- Case
Ctrl
+Tab
:第一次返回使輸入再次顯示為輸出。- 案例
Ctrl
++Shift
:Tab
第一次返回產生符號↵
,第二次返回產生上面顯示的最後一行。下一次編輯:更多資訊
如果您按下 ctrl-shift(不按任何鍵同時釋放兩者),然後在另一個視窗中輸入,會發生什麼情況?
在不同的 urxvt 視窗中?當我按下 Ctrl+Shift 並鬆開兩個鍵時,左下角出現一個刺眼的黃色框:
KEYCAP PICTURE INSERT MODE
它似乎來自 urxvt,它不會出現在其他應用程序中。或者甚至只是 ctrl-shift-tab 然後在另一個視窗中輸入(我的意思不是 rxvt,比如在 gedit 視窗或網路瀏覽器或其他東西中。)
我得到一條新線。
如果按 shift+ctrl+tab 會發生什麼
$$ i.e. shift down, ctrl down, tab, ctrl up, shift up $$相反,反之亦然,如果那是你正在做的?
在 urxvt?
$ cat -v shift+ctrl+tab then enter: ^[[27;6;9~ ctrl+shift+down: ↓ ctrl+shift+up: ↑ shift+down: ^[[b shift+up: ^[[a ctrl+down: ^[Ob ctrl+up: ^[Oa tab: | | (tab)
我正在嘗試縮小範圍,因為我認為您可能在 xcompose 中的“ctrl+shift”或其他東西上有某種映射。
我不知道,但你永遠不知道。
按“ctrl+shift+tab, enter”時xev的輸出是什麼?
KeyPress event, serial 32, synthetic NO, window 0x4800001, root 0xb4, subw 0x0, time 311734869, (567,395), root:(567,411), state 0x0, keycode 66 (keysym 0xffe3, Control_L), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyPress event, serial 35, synthetic NO, window 0x4800001, root 0xb4, subw 0x0, time 311734971, (567,395), root:(567,411), state 0x4, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyPress event, serial 35, synthetic NO, window 0x4800001, root 0xb4, subw 0x0, time 311736110, (567,395), root:(567,411), state 0x5, keycode 23 (keysym 0xfe20, ISO_Left_Tab), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyRelease event, serial 35, synthetic NO, window 0x4800001, root 0xb4, subw 0x0, time 311736494, (567,395), root:(567,411), state 0x5, keycode 23 (keysym 0xfe20, ISO_Left_Tab), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False KeyRelease event, serial 35, synthetic NO, window 0x4800001, root 0xb4, subw 0x0, time 311736525, (567,395), root:(567,411), state 0x5, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False KeyRelease event, serial 35, synthetic NO, window 0x4800001, root 0xb4, subw 0x0, time 311736525, (567,395), root:(567,411), state 0x4, keycode 66 (keysym 0xffe3, Control_L), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False KeyPress event, serial 35, synthetic NO, window 0x4800001, root 0xb4, subw 0x0, time 311737530, (567,395), root:(567,411), state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES, " XLookupString gives 1 bytes: (0d) " " XmbLookupString gives 1 bytes: (0d) " XFilterEvent returns: False KeyRelease event, serial 35, synthetic NO, window 0x4800001, root 0xb4, subw 0x0, time 311737633, (567,395), root:(567,411), state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES, " XLookupString gives 1 bytes: (0d) " XFilterEvent returns: False
Shift
+Tab
通常映射到ISO_Left_Tab
X11 中的鍵符,因此某些程序可能需要它而不是其配置中的文字“shift-tab”。urxvt 在 ctrl+shift 上有一個奇怪的映射,看起來你必須重新編譯才能禁用它:有關更多詳細資訊,請參閱此頁面。編輯它看起來像在最近版本的 rxvt 你可以簡單地添加
URxvt.iso14755_52: False
我有
S-Tab
這個工作:URxvt.keysym.C-Tab: \033{ URxvt.keysym.Control-Shift-ISO_Left_Tab: \033} ! disable ctrl-shift URxvt*iso14755: False URxvt*iso14755_52: False
在 vim 我有
nmap ^[{ :tabnext<cr> imap ^[{ <ESC>:tabnext<cr> nmap ^[} :tabprevious<cr> imap ^[} <ESC>:tabprevious<cr>