http://www.pythonclub.org/linux/vim/map

VIM键盘映射 (Map)

设置键盘映射

使用:map命令,可以将键盘上的某个按键与Vim的命令绑定起来。例如使用以下命令,可以通过F5键将单词用花括号括起来:

:map <F5> i{e<Esc>a}<Esc>

其中:i{将插入字符{,然后使用Esc退回到命令状态;接着用e移到单词结尾,a}增加字符},最后退至命令状态。在执行以上命令之后,光标定位在一个单词上(例如amount),按下F5键,这时字符就会变成{amount}的形式。

不同模式下的键盘映射

使用下表中不同形式的map命令,可以针对特定的模式设置键盘映射:

Command
命令
Normal
  常规模式  
Visual
可视化模式
Operator Pending
运算符模式
Insert Only
插入模式
Command Line
命令行模式
:map y y y    
:nmap y        
:vmap   y      
:omap     y    
:map!       y y
:imap       y  
:cmap         y

键盘映射实例

使用以下命令,可以在Normal Mode和Visual/Select Mode下,利用Tab键和Shift-Tab键来缩进文本:

nmap <tab> V>
nmap <s-tab> V<
vmap <tab> >gv
vmap <s-tab> <gv

使用以下命令,指定F10键来新建标签页:

:map <F10> <Esc>:tabnew<CR>

其中:<Esc>代表Escape键;<CR>代表Enter键;而功能键则用<F10>表示。首先进入命令行模式,然后执行新建标签页的:tabnew命令,最后返回常规模式。

同理:对于组合键,可以用<C-Esc>代表Ctrl-Esc;使用<S-F1>表示Shift-F1。对于Mac用户,可以使用<D>代表Command键。

注意:Alt键可以使用<M-key>或<A-key>来表示。

关于键盘符号的详细说明,请使用:h key-notation命令查看帮助信息。

我们还可以针对函数设置键盘映射。 例如,将以下代码加入.vimrc文件,就可以利用快捷键,来打开或关闭针对搜索结果的高亮显示。

查看键盘映射

使用:map命令,可以列出所有键盘映射。其中第一列标明了映射在哪种模式下工作:

标记	模式
<space> 常规模式,可视化模式,运算符模式
n 常规模式
v 可视化模式
o 运算符模式
! 插入模式,命令行模式
i 插入模式
c 命令模式

使用:map!命令,则只列出插入和命令行模式的映射。而:imap,:vmap,:omap,:nmap命令则只是列出相应模式下的映射。

取消键盘映射

如果想要取消一个映射,可以使用以下命令:

:unmap <F10>

注意:必须为:unmap命令指定一个参数。如果未指定任何参数,那么系统将会报错,而不会取消所有的键盘映射。

针对不同模式下的键盘映射,需要使用与其相对应的unmap命令。例如:使用:iunmap命令,取消插入模式下的键盘映射;而取消常规模式下的键盘映射,则需要使用:nunmap命令。

如果想要取消所有映射,可以使用:mapclear命令。请注意,这个命令将会移除所有用户定义和系统默认的键盘映射。

参考

使用set命令

set pastetoggle=<F9>

使用imap命令

用Esc退出插入模式很麻烦,可以将另外的键映射到这个键上,如下,将Ctrl-i映射为Esc

VIM键盘映射 (Map)的更多相关文章

  1. VIM键盘映射 (Map)~转载

    VIM键盘映射 (Map) 设置键盘映射 使用:map命令,可以将键盘上的某个按键与Vim的命令绑定起来.例如使用以下命令,可以通过F5键将单词用花括号括起来: :map <F5> i{e ...

  2. <顶>vim快捷键映射Map使用

    问题描述: 使用vim中的快捷键映射map,可以自定义快捷键 问题解决: (1)vim模式 (2)map前缀 (3)删除映射Map (4)使用示例 (5)查看快捷键映射 命令行---:verbose ...

  3. mac 键盘映射 karabiner

    mac 键盘映射 karabiner 今天在vim编辑的时候觉得用mac的方向键有点麻烦 需要移动我的小右手,然后就搜个映射方案. 百度出来了 karabiner. 官网 安装什么的就不说了, 安完了 ...

  4. Linux下修改键盘映射

    一篇关于修改键盘映射比较靠谱的文章,收藏一下! 原文地址:http://www.07net01.com/2016/04/1436249.html --------------------------- ...

  5. 辛星深入分析vim的自己主动补全功能以及vim的映射

    曾经对于vim的自己主动补全功能,都是须要的时候从网上下载点配置项,然后复制到自己的vimrc上去,自己也不知道是什么意思.结果发现搜索到的非常多自己主动补全的方式都非常另类,有的喜欢在补全大括号的时 ...

  6. Linux 中的键盘映射【转】

    本文转载自:http://hessian.cn/p/144.html [转]Linux 中的键盘映射 原文地址:http://www.linuxidc.com/Linux/2011-04/35197. ...

  7. gentoo 修改键盘映射

    gentoo 上面修改键盘映射分为两种,一种是终端环境,一种是X环境. 终端环境 https://www.emacswiki.org/emacs/MovingTheCtrlKey https://wi ...

  8. 图像映射map

    <map>标签:带有可点击区域的图像映射 定义一个客户端图像映射.图像映射(image-map)指带有可点击区域的一幅图像. 效果图: 点击相应蓝色标签可进入详情页面浏览. 代码: < ...

  9. vim常用命令 vim键盘布局

    vim键盘布局,vim快捷键 vim常用命令:

随机推荐

  1. 对象的三大特性(封装、继承、多态)——java

    一. 面向对象的三大特征 1. 封装---->减少了大量的冗余代码---->封装将复杂的功能封装起来,对外开放一个接口,简单调用即可.将描述事物的数据和操作封装在一起,形成一个类:被封装的 ...

  2. 使用css鼠标移动到图片放大效果

      <!DOCTYPE html>  <html>      <head>          <meta charset="UTF-8"& ...

  3. 复习babel

    对babel进行复习

  4. Windows资源管理器卡死(未响应)的解决办法

    前几天笔记本出现一个莫名其妙的问题,不胜其扰,具体表现如下: A.打开资源管理器(我的电脑)时,会出现“正在处理它”的Loading提示,且地址栏会出现绿色进度条,进度条一般会持续几分钟(不影响进入分 ...

  5. ASP.NET Identity系列教程-2【Identity入门】

    https://www.cnblogs.com/r01cn/p/5177708.html13 Identity入门 Identity is a new API from Microsoft to ma ...

  6. [CF1303F] Number of Components - 并查集,时间倒流

    有一个 \(n \times m\) 矩阵,初态下全是 \(0\). 如果两个相邻元素(四连通)相等,我们就说它们是连通的,且这种关系可以传递. 有 \(q\) 次操作,每次指定一个位置 \((x_i ...

  7. python3运行时候报错集锦:读取文件报错

    1.关于读取文件报错: 命令执行到cf.read(cfpath),出现如下报错:UnicodeDecodeError: 'gbk' codec can't decode byte 0xa0 in po ...

  8. mysql 数据备份。pymysql模块

    阅读目录 一 IDE工具介绍 二 MySQL数据备份 三 pymysql模块 一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https:/ ...

  9. z3学习档案

    Reference: 看雪-z3巧解逆向 知乎:Z3一把梭 z3 solver学习 使用z3约束求解器解决CTF中的题目 Playing with Z3,hacking the serial chec ...

  10. WebGL_0001:3D页面的重置分辨率和横竖屏事件

    1,事件 重置分辩率事件 window.addEventListener("resize", a, !1) 横竖屏切换事件 window.addEventListener(&quo ...