我無法使這個映射在xterm終端內的vim中工作。在vim中映射數字小鍵盤鍵
我可以得到相同的映射在gvim中正常工作。如果我在終端上在vim中發出上述命令,它會接受它,並且當我輸入:map
時它會正確顯示。但在正常模式下,如果按鍵盤按鍵,則狀態行顯示「0」,然後在下一次按鍵時消失。
我使用Fedora 14附帶的vim,如果有問題的話,還有一個普通的xterm。鍵盤按鍵在插入模式下工作正常,無論是使用numlock打開還是關閉。
我錯過了什麼?
我無法使這個映射在xterm終端內的vim中工作。在vim中映射數字小鍵盤鍵
我可以得到相同的映射在gvim中正常工作。如果我在終端上在vim中發出上述命令,它會接受它,並且當我輸入:map
時它會正確顯示。但在正常模式下,如果按鍵盤按鍵,則狀態行顯示「0」,然後在下一次按鍵時消失。
我使用Fedora 14附帶的vim,如果有問題的話,還有一個普通的xterm。鍵盤按鍵在插入模式下工作正常,無論是使用numlock打開還是關閉。
我錯過了什麼?
嘗試將此行添加到您~/.Xdefaults
:
xterm*appkeypadDefault: false
和重新啓動的xterm。
「應用程序的鍵盤模式」,很可能你的煩惱的原因。
但我不認爲你應該做你正在做什麼。在--NORMAL--
模式下,數字輸入用於表示「計數」,如4dd
。將數字映射到其他命令會讓您快速陷入麻煩。
您應該爲您的問題添加xterm
標記。
有沒有在這個問題,這可能表明實際問題有些含糊不清。 vim接受k0
的綁定,假設它是一個功能鍵。
,你會看到開始1
數字功能鍵大多數鍵盤,和幾個終端的描述等同功能鍵1至k0
,幾等同起來k0
的功能鍵10.這也是可能某人認爲它是數字鍵盤的一部分,但不太可能(因爲鍵盤使用不同於功能鍵的字符序列)。
這是假設你使用的是知道的功能鍵終端的描述。 vt100終端描述不這樣做,因爲vt100沒有功能鍵(PF1通過PF4哪些是或不是你要與誰談話)。但是如果你有TERM=vt100
,那麼的一些的數字小鍵盤可以根據終端描述來識別(例如參見vt100+fnkeys
description以上的冗長評論)。
這不是在TERM=xterm
,但是。
你可以忽略的是vim(可能有用)修改終端描述使用它的內置termcaps。它承認PF1等。使用像這樣的表格條目:
{K_XF1, IF_EB("\033O*P", ESC_STR "O*P")},
{K_XF2, IF_EB("\033O*Q", ESC_STR "O*Q")},
{K_XF3, IF_EB("\033O*R", ESC_STR "O*R")},
{K_XF4, IF_EB("\033O*S", ESC_STR "O*S")},
但是沒有用於編號鍵的條目;沒有"\033O*p"
爲0
鍵。
如果Vim(終端描述)的k0
,並且未將其映射到任何東西,VIM會將其作爲文字0
。這與等相同,實際上將功能鍵和數字小鍵盤視爲同一件事。
對於它的價值,GNU screen
做同樣的事情,但也爲數字鍵。如果我在screen
裏面運行vim
,vim
只會看到0。字面0
在vim中並沒有在命令模式下做很多事情。
嗯,謝謝,但這沒有奏效。另外,'false'是xterm * appkeypadDefault的默認值,如xterm手冊頁所示。 我已經使用vim做了十年以上的所有工作,而且我從來沒有用過*鍵盤*來指定重複操作(不需要離開主位置是vim的優點之一)。所以我可以用鍵盤映射。 – PonyEars