2012-05-30 296 views
1

我想補充像這樣的鍵映射:(Vim鍵映射)可以在Vim中映射'<' or '>'嗎?

nmap <C->> <C-W>+ 
nmap <C-<> <C-W>- 

但似乎不起作用。 語法有問題嗎?我想知道'''或'<'可以像正常字符一樣使用。

+0

'nmap + +'怎麼辦?它更容易 –

+0

因爲我想用'+'來組合我的密鑰映射。我做了一些搜索,我發現你給的方式是一種流行的用途。 – Tropicpenguin

回答

1

由於鍵盤輸入是內部處理的方式,因此即使在GVIM中,今天也不可能實現。這是一個已知的痛點,並且是關於vim_dev和#vim IRC頻道的各種討論的主題。

有些人(最重要的是Paul LeoNerd Evans)想要解決這個問題(甚至在支持這種終端的終端上使用Vim),並且提出了各種各樣的建議。 http://groups.google.com/group/vim_dev/browse_thread/thread/626e83fa4588b32a/bfbcb22f37a8a1f8

但截至今日,還沒有補丁或志願者尚未出面,儘管許多人表示希望在未來的Vim 8主要版本中擁有此版本。

5

它無關的語法,但具有下列之一:

  1. 終端可以發送<C-<>剛剛<
  2. 如果有從終端獲得<C-<>的方法,vim不知道它。
  3. 如果你在GUI的<C-連擊表示無法可能處理<C-<>,因爲它知道的唯一密鑰是從<[email protected]>(CTRL + 0×40),以<C-_>(CTRL + 0x5F的),因爲只有這些連擊可以可能轉換到ASCII控制字符(具有0x00-0x1F代碼的字符)。 <>都落在這個範圍之外。

另外:使用nnoremap而不是nmap。你不需要在這裏重映射。

+0

我使用PUTTY作爲我的終端客戶端。如何確定我的PUTTY是否只發送<或不是? – Tropicpenguin

+0

@Tropicpenguin Type''。但是我不知道xterm如何處理這個問題:它肯定有一些擴展的功能,在許多其他終端中也成爲了標準。請注意,即使Putty發送了一些不是「<」的東西,那麼你也必須映射它直接發送的內容(並因此具有特定於終端的映射),因爲vim除了我已經提到的那些之外不支持任何' ZyX