2014-10-12 148 views
0

我知道Alt鍵是默認的mod鍵。什麼是Vim中的mod鍵,我可以將Win鍵分配給Vim mod鍵嗎?

但我可以改變,要在Vim的,因爲Alt鍵關鍵已經是我的wmii window manager MOD鍵?

或特別,我可以使用的Vim的鍵鍵映射就像Alt鍵Ctrl鍵,並?就像我想<Win-J>就像<C-J>nnoremap

我讀過這個問題Can Windows key be mapped in Vim?但它沒有回答我的疑惑。所以我來到這裏尋求幫助。

PS:我使用Ubuntu 14.04

+0

您使用的是GNU/Linux系統嗎? – rendon 2014-10-12 03:51:15

+0

@rendon,是的,我使用的是Ubuntu 14.04 – Zen 2014-10-12 03:52:08

回答

1

因爲Vim不認窗口鍵,你可能不得不做這樣的事情:

  1. 地圖窗口關鍵,映射的ctrl鍵序列您的操作系統(例如,按Ctrl + L)(僅當vim /你的shell是活動窗口)

  2. `nnoremap v echo「hi」。現在你可以按下Win + V

這是不是最好的解決方案,因爲我不知道你的操作系統如何對待持有win鍵的Ctrl + l多個分派。也許你需要找出你是否可以把它「請按,然後立即釋放」當你按下win(但還沒有公佈它)

編輯:

解決方案分爲兩個部分:映射Windows鍵一定的順序(如ctrl + l),然後在vim,把這樣的事情在你的vimrc:

inoremap <c-l><c-k> hello 
nnoremap <c-l><c-k> :echo("hello")<cr> 
插入模式

現在按Win + k應鍵入hello你,在正常模式下,按win + k應回聲「你好」。

+0

你認爲我們可以使用'contral + 2普通密鑰'如''?怎麼做? – Zen 2014-10-12 10:49:03

+0

''應該工作。 (注意,在Vim /終端被硬編碼爲'Enter'鍵)你想要使用一個非硬編碼的密鑰,如'' – 2014-10-12 20:51:06

+0

你的意思是我可以將映射到:echo'test',然後當我按下'Control','j','k',我可以在屏幕上進行'測試'嗎? – Zen 2014-10-13 02:33:51

1

在我的系統我用xmodmap使Window鍵和附加Ctrl鍵,這樣一來我用的是Window鍵作爲我控制鍵(原Ctrl鍵仍然有效)。

保存在~/.Xmodmap下面幾行:

! Make windows Meta key an aditional Control key 
remove Control = Control_L Control_R 
remove mod4 = Super_L Super_R 
add Control = Control_L Super_L 

某些窗口管理器自動加載該文件,如果沒有,用xmodmap ~/.Xmodmap

+0

但是我應該如何使用Win作爲與nmap中原始控件不同的關鍵字? – Zen 2014-10-12 03:59:09

+0

此後'Win'是一個'Ctrl'鍵,在映射中用''指代它。 – rendon 2014-10-12 04:03:32

+0

你的意思是captalized C?所以它與映射中的原始ctrl沒有區別?所以我仍然沒有得到一個更特殊的映射關鍵。 – Zen 2014-10-12 04:28:26