2012-09-05 150 views
2

多年來,我一直在使用筆記本電腦 - 鍵盤上沒有數字鍵盤。最近獲得了一個dekstop鍵盤......就在今天,我發現Vim映射到數字(1 ... 9,0)不適用於他們的數字鍵盤等值。我的意思是?映射數字鍵盤上的鍵

nmap 1 Dj 

對數字鍵盤1不起作用?

有沒有解決這個問題的方法(不是真的是「問題」,而是煩人)

回答

1

這爲我工作在Windows上:nmap <C-k5> :tabnew<CR>

鍵盤標識符是K1,K2等也kPlus等。據我所知,當NumLock關閉時映射失敗。

+0

似乎不起作用。 – Rook

+0

@ldigas真的嗎?在這裏工作很好。 Vim 7.3在Windows 7 x64上運行。但就像我說的,如果NumLock關閉,映射將無法工作。 – kprobst

+0

@ldigas這個評論可能看起來很愚蠢,但是你上面的評論不清楚:你嘗試過''還是''?首先需要按下Ctrl鍵。 – xaizek

1

我有一些鍵盤和終端,我無法通過k*標識符進行映射。在這種情況下將它們映射,使用CTLv以輸入正確的換碼

因此,例如,在鍵盤上映射1執行Dj,請輸入:

:map 

然後鍵入Ctlv,它將使用^[開啓轉義序列。然後在鍵盤上按。結果代碼看起來像^[Ow。完成你的映射爲正常:

:map ^[Ow Dj 
+0

:映射,然後Ctrl-v(這給我只是^),然後按1不會給我任何東西。 – Rook

+0

@ldigas是你的NumLock開啓還是關閉? –

+0

上。當它關閉時,它給出(或 - 取決於密鑰)。這是預期的。 – Rook

0

您可以在vi地圖(~/.vimrc例如)在下列方式NUM鍵:

inoremap <Esc>Oq 1 
inoremap <Esc>Or 2 
inoremap <Esc>Os 3 
inoremap <Esc>Ot 4 
inoremap <Esc>Ou 5 
inoremap <Esc>Ov 6 
inoremap <Esc>Ow 7 
inoremap <Esc>Ox 8 
inoremap <Esc>Oy 9 
inoremap <Esc>Op 0 
inoremap <Esc>On . 
inoremap <Esc>OQ/
inoremap <Esc>OR * 
inoremap <Esc>Ol + 
inoremap <Esc>OS - 
inoremap <Esc>OM <Enter> 

此設置是使用數字鍵,因爲他們的例子應該。當然你可以改變映射。