按键映射关键字的组成开始让我摸不着头脑,查了资料,然后来做一个log

按键绑定命令:模式前缀(缺省为normal) + 递归前缀(缺省为空) + map

前缀表示生效范围,递归前缀表示是否递归查找命令

map 表示在普通模式下即normal模式下生效

inoremap 表示在insert模式下生效

vnoremap 表示在visual模式下生效

nnoremap 表示在normal模式下生效

键表:

<k0>-<k9> 0~9

<S-...> Shift+*

<C-...>Control+*

<M-...>Alt+* 或 meta +*

<A-...>Alt+* 或 meta +*

特殊参数:

1.<buffer>

如果按键映射命令第一个参数是<buffer>, 映射局限于当前缓冲区

2.<silent>

执行键绑定时不在命令行上回显

3.<special>

用于定义特殊键怕有副作用的场合.

4.<unique>

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

5.<expr>

如果定义新映射的第一个参数是<expr>那么参数会作为表达式来进行计算结果使用实际使用的<rhs>

6.<Leader>mapleader

mapleader变量对所有map映射命令起效,它的作用是将参数<leader>替换mapleader变量的值.

默认mapleader = "\" 可以自定义: let mapleader = ","

引用自:

http://www.douban.com/group/topic/10866937/

http://www.zhihu.com/question/20741941

vim 中按键映射问题的更多相关文章

  1. Vim中的键映射【转】

    转自:http://www.cnblogs.com/softwaretesting/archive/2011/09/28/2194515.html http://www.pythonclub.org/ ...

  2. VIM进阶学习之几种模式和按键映射

    Map是Vim强大的一个重要原因,可以自定义各种快捷键,用起来自然得心应手. vim里最基本的map用法也就是 :map c a 这里把c映射成了a,在map生效的情况下,按下c就等同于按下了a 当然 ...

  3. 解决vim中鼠标右键无法复制的问题

    转:http://www.cnblogs.com/jianyungsun/archive/2011/03/19/1988855.html 这是我的vim配置文件:jeffy-vim-v2.4.tar ...

  4. 【转】vim中多标签和多窗口的使用

    原文:https://my.oschina.net/kutengshe/blog/464602 ---------------------------------------------------- ...

  5. vim:关于映射和跳出括号

    先说如何自动补全. 命令:vim .vimrc inoremap ( ()<ESC>i inoremap [ []<ESC>i inoremap { {}<ESC> ...

  6. vi/vim使用进阶: 在VIM中使用GDB调试 – 使用vimgdb

    vi/vim使用进阶: 在VIM中使用GDB调试 – 使用vimgdb << 返回vim使用进阶: 目录 本节所用命令的帮助入口: :help vimgdb 在UNIX系统最初设计时,有一 ...

  7. vim中project多标签和多窗口的使用

    1.打开多个窗口 打开多个窗口的命令以下几个: 横向切割窗口 :new+窗口名(保存后就是文件名) :split+窗口名,也可以简写为:sp+窗口名 纵向切割窗口名 :vsplit+窗口名,也可以简写 ...

  8. udev更改按键映射

    通过更改udev的规则实现敲击a键获得s的输出 安装evtest   首先安装evtest检测键盘的扫描码 123456789 # apt install evtest# sudo evtestNo ...

  9. 再谈vim中多窗口的编辑

    参考:http://blog.csdn.net/shuangde800/article/details/11430659 很好 鼠标在各个窗口间循环移动: ctrl+w+(小写的 hjkl), &qu ...

随机推荐

  1. [Angular 2] Dispatching Action with Payloads and type to Reducers

    While action types allow you tell your reducer what action it should take, the payload is the data t ...

  2. huffman编码——原理与实现

    哈夫曼算法原理 Wikipedia上面说的非常清楚了,这里我就不再赘述,直接贴过来了. 1952年, David A. Huffman提出了一个不同的算法,这个算法能够为不论什么的可能性提供出一个理想 ...

  3. boost 特点

    功能强大 跨平台 开源 免费 构造精巧 C++扩展库

  4. STL之Iterator(迭代器)

    概述 根据迭代器功能的不同,将迭代器分为以下几类: Iterator Category Ability Providers Input iterator Reads forward istream O ...

  5. Resizing LVM Logical Volumes-lvextend

    1. fdisk命令/dev/sdc再分出一个sdc2分区 [root@rhel7 ~]# fdisk /dev/sdc Welcome to fdisk (util-linux ). Changes ...

  6. RPM包校验和提取

    一.RPM包校验 [root@localhost Packages]# rpm -V 已安装的包名 #选项: #    -V    校验指定RPM包中的文件(verify) [root@localho ...

  7. linux的df命令

    man df可以查看磁盘的使用情况以及文件系统被挂载的位置 df -lh命令效果如下

  8. W3C小组宣布:HTML5标准制定完成

    近日,W3C小组宣布已经完成对HTML5标准以及Canvas 2D性能草案的制定,这就意味着开发人员将会有一个稳定的“计划和实施”目标. Web性能工作组已经推出W3C的两个版本建议草案. Navig ...

  9. Warning: World-writable config file '/etc/my.cnf' is ignored

    1. 问题描述: 重启mysql服务时出现以下信息: Warning: World-writable config file '/etc/my.cnf' is ignored 出现这种情况的原因是:m ...

  10. 表被占用住,提示资源正忙的处理方式。kill掉表的操作。

     1)查找死锁的进程:  SELECT s.username,l.OBJECT_ID,l.SESSION_ID,s.SERIAL#,l.ORACLE_USERNAME,l.OS_USER_NAME,l ...