读书人

vim 学习札记 快捷键映射:定制你自己

发布时间: 2012-11-07 09:56:10 作者: rapoo

vim 学习笔记 快捷键映射:定制你自己的快键
查找vim中某个键映射的定义:
打开vim输入下面的命令

:verbose map <所要查找的快捷键>

例如查看tab键的定义:
:verbose map <tab>
输出:
s  <Tab>       * <Esc>i<Right><C-R>=TriggerSnippet()<CR>        最近修改于 ~/.vim/after/plugin/snipMate.vim


vim通过定义快键来实现括号自动补全:
让vim实现输入: [ 而在文件中输入: [] 并把光标置于中括号中,方法如下:
:inoremap  [  []<Esc>i

将上面的代码加到vimrc文件中即可,很简单吧。
解释一下: 上面的代码实现了一个快键映射,inoremap 表示该映射只在插入模式下有效,也即只有在插入模式下你输入: [ ,vim才会把它映射到后面的命令: []<Esc>i
[] : 表示在文件中写入: [] 而<Esc>表示回到正常模式,而后面的: i 表示把光标移动到刚才输入的最后一个字符(即: ])前,并进入插入模式。
同理,你也可以自己定义快键实现其他的自动补全功能。
例如:
:inoremap ) ()<Esc>i        :inoremap ( ()<Esc>i:inoremap { {}<Esc>i:inoremap } {}<Esc>i:inoremap [ []<Esc>i:inoremap ] []<Esc>i:inoremap < <><Esc>i:inoremap > <><Esc>i:inoremap " ""<Esc>i:inoremap ' ''<Esc>i


实现vim中<C-A>全选,<C-C>复制,<C-X>剪切的功能:
map <C-c> ymap <C-X> dmap <C-A> <Esc>ggVG

注意:该映射在正常模式和插入模式下均有效。

读书人网 >其他相关

热点推荐