按键映射关键字的组成开始让我摸不着头脑,查了资料,然后来做一个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. ButterKnife的使用

    ButterKnife是一个Android View注入的库. 1.开始使用 1.1 配置Eclipse 在使用ButterKnife需要先配置一下Eclipse. 项目右键-Properties-J ...

  2. 设计模式(二)工厂模式Factory (创建型)

    工厂模式分为三种:简单工厂模式 (Simple Factory) .工厂方法模式(Factory Method).抽象工厂模式(Abstract Factory) //举例:发送邮件和短信的例子 /* ...

  3. POJ1595_Prime Cuts【素数】【水题】

    Prime Cuts Time Limit: 1000MSMemory Limit: 10000K Total Submissions: 10464Accepted: 3994 Description ...

  4. Android消息机制(2)

    在Android 中,线程内部或者线程之间进行信息交互时经常会使用消息,这些基础的东西如果我们熟悉其内部的原理,将会使我们容易.更好地架构系统,避免一些低级的错误. 下面我们分析下程序的运行过程: 1 ...

  5. how to get file from classpath using jboss7.x.1 --reference

    question: I want to convert smooks xml-java, so that i need to load source file from mobeeadmin.war/ ...

  6. [转] Web性能压力测试工具之ApacheBench(ab)详解

    PS:网站性能压力测试是性能调优过程中必不可少的一环.只有让服务器处在高压情况下才能真正体现出各种设置所暴露的问题.Apache中有个自带的,名为ab的程序,可以对Apache或其它类型的服务器进行网 ...

  7. Ubuntu安装分区设置

    我的Ubuntu 安装分区 /boot   200M /          2000M /home  6000M swap    1000M /boot分区,它包含了操作系统的内核和在启动系统过程中所 ...

  8. ASP.NET-FineUI开发实践-2

    FineUI好处之一在于No JS,这里的No JS并不是不使用JS,JS对于ASP.Net是必不可少的,只是FineUI把大部分JS封装,如果想用,后台提供了很多方法返回JS,Get...Refer ...

  9. struts2获取request、session、application

    struts2获取request.session.application public class LoginAction extends ActionSupport implements Reque ...

  10. mongodb地理空间计算逻辑

    "1/地球半径"是怎么得出的 参考文档如下: http://janmatuschek.de/LatitudeLongitudeBoundingCoordinates http:// ...