`

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> y
map <C-X> d
map <C-A> <Esc>ggVG

注意:该映射在正常模式和插入模式下均有效。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics