VIM 里使用 map/vmap 映射常用操作序列

来源:互联网 发布:keep健身软件安卓版 编辑:程序博客网 时间:2024/05/16 00:27

VIM 里使用 map/vmap 映射常用操作序列

前言:

在日常编程中,我们需要对现有的代码进行添加,删除,更新以及对文件头,函数头等进行标记,比如加入作者,版权信息等。这些信息需要以统一格式实现,所以需要自动化。

source insight中,我们可以编辑宏,然后发布给开发组成员,大家使用同一版本。

VIM 中,我们可以通过在 .vimrc 中映射快捷键来实现。

本文假定您已经熟悉常用 vi 操作。后面的实例为我们日常编程中常用场景。

Map/vmap 介绍

Map 的格式为:map <要映射键> <被映射的按键序列>,比如 map T :q! 后,则在命令模式下按T并按回车, 就会推出vim.

Vmap map 类似, 二者的区别在于前者用于所谓的 Visual 模式,后者用于通常的命令模式。

实例

以下实例:

将命令模式下 F2 映射为插入代码标记序列

将可视模式下 F3 映射为更新代码标记序列

将可视模式下 F4 映射为删除代码标记序列

将命令模式下 F5 映射为插入文件头序列

将命令模式下 F6 映射为插入函数头序列

。。。

 

map <F2> i/* Added by LUCENT ZJUJOE on:<Esc>:read !date <CR>kJ$a BEGIN*/<CR>/*<CR>   Please add your

 comment here<CR><Esc>a/<CR>#if 1<CR><CR>#endif<CR>/* Added by LUCENT ZJUJOE on:<Esc>:read !date <CR

>kJ$a END*/<CR><ESC>

 

vmap <F3> xi/* Modified by LUCENT ZJUJOE on:<CR><Esc>k:read !date <CR>k<CR>kJ$a BEGIN*/<CR>/*<CR>  

 Please add your comment here<CR><Esc>a/<CR>#if 1<CR><CR>#else<CR>#endif<CR>/* Modified by LUCENT SONGL

IXIN on:<Esc>:read !date <CR>kJ$a END<ESC>J$a/<CR><ESC>kkkpkk

 

vmap <F4> xi/* Deleted by LUCENT ZJUJOE on:<CR><Esc>k:read !date <CR>k<CR>kJ$a BEGIN*/<CR>/*<CR> Ple

ase add your comment here<CR><Esc>a/<CR>#if 0<CR>#endif<CR>/* Deleted by LUCENT ZJUJOE on:<Esc>:read

 !date <CR>kJ$a END<ESC>J$a/<CR><ESC>kkkpkk

 

map <F5> i/*<CR> * Copyright(c) 2005-2007 Shanghai LUCENT Telecommunication Corp.<CR>*<CR>* Authored by

 LUCENT ZJUJOE on:<Esc>:read !date <CR>kJ$a<CR>*<CR>* @desc:<CR>*<CR>* @history<CR>*/

 

map <F6> i/* Function authored by LUCENT ZJUJOE on:<Esc>:read !date <CR>kJ$a */<CR>/*<CR> * @desc:<C

R>* @param:<CR>* @return:<CR>*/<ESC>kkk$

 

map <F7> a/* Modified by LUCENT ZJUJOE on:<Esc>:read !date <CR>kJ$a BEGIN*/<CR><Esc>

 

map <F8> a/* Modified by LUCENT ZJUJOE on:<Esc>:read !date <CR>kJ$a END*/<CR><Esc>

 

map <F9> a/* Authored by LUCENT ZJUJOE on:<Esc>:read !date <CR>kJ$a*/<CR><Esc>