[VIM] map语法

VIM map

在这里插入图片描述

map

map不带前缀等于 n+v+o

* nore    非递归;若递归:a->b, c->a 即递归为 c->b
* n       普通模式下生效
* v       可视模式下生效
* i       插入模式下生效
* c       命令模式下生效
* o       操作模式下生效,操作符等待中 ("d","y","c" 等等之后)

格式

* :map {lhs} {rhs}    把键系列 {lhs} 映射为 {rhs}
* :unmap {lhs}        取消映射
* :mapclear           取消所有map绑定

键表

* <k0> - <k9>         小键盘 0 到 9
* <S-...>             Shift+键
* <C-...>             Control+键
* <M-...>             Alt+键 或 meta+键
* <A-...>             同 <M-...>
* <Esc>               Escape 键
* <Up>                光标上移键
* <Space>             插入空格

特殊参数

<buffer>

如果这些映射命令的第一个参数是<buffer>,映射将只局限于当前缓冲区(也就是你此时正编辑的文件)
:map <buffer> ,w /a<CR>  当前文件,“,w”将在当前缓冲区里查找字符a

<silent>

<silent>是指执行键绑定时不在命令行上回显
:map <silent> ,w /abcd<CR> ,w查找abcd时,命令行上不会显示/abcd

<special>

<special>一般用于定义特殊键怕有副作用的场合
:map <special> <F12> /Header<CR>

<expr>

如果定义新映射的第一个参数是<expr>,那么参数会作为表达式来进行计算
:inoremap <expr> <C-L> ListItem() 
插入模式下,CTRL-L插入顺序的列表编号,并返回

<unique>

一般用于定义新的键映射或者缩写命令的同时检查是否该键已经被映射,如果该映射或者缩写已经存在,则该命令会失败

<Leader>和mapleader变量

:map <Leader>A another line<Esc>
如果mapleader变量没有设置,则用默认的反斜杠代替
等效:map \A another line<Esc>
如果设置了mapleader变量,如let mapleader = ","
等效:map ,A another line<Esc>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值