什么是映射
成都網(wǎng)絡(luò)公司-成都網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司十多年經(jīng)驗(yàn)成就非凡,專業(yè)從事網(wǎng)站建設(shè)、做網(wǎng)站,成都網(wǎng)頁(yè)設(shè)計(jì),成都網(wǎng)頁(yè)制作,軟文發(fā)布平臺(tái),一元廣告等。十多年來(lái)已成功提供全面的成都網(wǎng)站建設(shè)方案,打造行業(yè)特色的成都網(wǎng)站建設(shè)案例,建站熱線:13518219792,我們期待您的來(lái)電!
映射可以理解為設(shè)置快捷鍵,就是讓你用少量的,便于按的鍵來(lái)替代比較多、繁的鍵。
什么時(shí)候用映射
如果你有以下一個(gè)或多個(gè)困擾,那么就可以來(lái)使用映射了哦
不滿現(xiàn)在的按鍵
想設(shè)置一些快捷鍵來(lái)提高編輯速度
想組合一些按鍵來(lái)完成新的需求
映射的分類
我們知道,vim有多種模式,與其對(duì)應(yīng)的,映射也有nmap(普通映射)、imap(插入映射)、vmap(塊選擇映射)。
我們分別來(lái)選幾個(gè)案例來(lái)講講這三種映射。
普通映射
" 使用F1切換顯示行號(hào) nmap:set nu! nu?
這里的CR表示回車鍵的意思。
插入映射
" 使用jj來(lái)代替esc鍵,完成從插入模式退回到普通模式 imap jj`^
一般我們都會(huì)使用jj來(lái)代替esc鍵,來(lái)完成快速?gòu)牟迦肽J角袚Q到普通模式。
" 在插入模式下向前向后刪除字符 imapimap lxi
這里c表示ctrl鍵,在插入模式下,使用ctrl+b表示向后刪除一個(gè)字符,而使用ctrl+d表示向前刪除一個(gè)字符。
塊模式映射
一般的,我們經(jīng)常會(huì)對(duì)多行文本來(lái)進(jìn)行增加縮進(jìn),或者減少縮進(jìn)。之前一篇文章說(shuō)過(guò),可以通過(guò)塊選擇結(jié)合命令行、或者通過(guò)宏來(lái)實(shí)現(xiàn)該需求。今天,學(xué)了映射后,可以使用一個(gè)更加簡(jiǎn)單的方法即可實(shí)現(xiàn)需求。
vmap <>gv
現(xiàn)在,如果我們想對(duì)多行進(jìn)行縮進(jìn),只需選擇好這些行,然后按下>或<即可實(shí)現(xiàn)。
遞歸映射
如果你下一下的映射時(shí),會(huì)發(fā)生什么
nmap dd Ojddk
如果當(dāng)你執(zhí)行了dd后,會(huì)發(fā)生嚴(yán)重的問(wèn)題的。因?yàn)橛成鋬蛇叾加衐d,所以會(huì)導(dǎo)致無(wú)限循環(huán)。這種無(wú)限循環(huán)是由于遞歸造成了,所以叫做遞歸映射。
大家可以看到,遞歸映射是有危害的,所以,工作中一律不準(zhǔn)使用遞歸映射,而是要采用非遞歸映射。那么如果進(jìn)行非遞歸映射呢?也非常簡(jiǎn)單,加4個(gè)字母即可nore
nmap 遞歸 nnoremap 非遞歸
imap 遞歸 inoremap非遞歸
vmap 遞歸 vnoremap 非遞歸
以上就是讓Vim更好的工作——VIM映射的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!