2012-11-06 79 views
4

我要重新映射另一個組合鍵,說CTRL - ,充當CTRL - d做(注:不一樣的小號 - 向下/PageDown/CTRL - F)。重新映射按Ctrl-d在vim

我至今是:

nmap ^G :exe 'normal '.&scroll.'^E<CR>' 

造就我的Vim命令模式和打字,它完美的作品。

E114: Missing quote: ' 
E15: Invalid expression: 'normal '.&scroll.' 

似乎在不恰當地評價^ E被卡住: - 然而,當我救我的.vimrc和重裝VIM,我推CTRL當出現以下錯誤。然而,我完全沒有使用或以任何其他方式指定CTRL - E。我在這裏錯過了什麼?

回答

5

^G^E是特殊字符,當您將它們放入.vimrc時效果不佳。您需要使用<C-g><C-e>,但由於您的Ctrl + E放置在一個字符串中,因此您需要將其轉義並編寫\<C-e>。您還需要使用雙引號而不是單引號 - 否則您無法進行轉義。

在其他的說明 - 你應該使用nnoremap代替nmap,因此,如果您重新映射<C-e>別處,<C-g>仍然會表現得像原來<C-e>

+0

我不知道nnoremap!正因爲如此,我可以做nnoremap ,然後重新映射到別的東西。感謝您的建議! – denaje

2

我想你可以只寫<C-E>CTRL - Ë

+0

:exec'norm'。&scroll。' '無法正常工作,無論是在vim命令中(通過擊中:)還是在映射中使用 – denaje

+0

正如Idan指出的那樣,在字符串中,您需要像「\ 」那樣轉義它。 –