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

Map是Vim强大的一个重要原因,可以自定义各种快捷键,用起来自然得心应手。
vim里最基本的map用法也就是

:map c a

这里把c映射成了a,在map生效的情况下,按下c就等同于按下了a
当然,常用的Ctrl,Shift,Alt自然也是支持的。

    • 令Ctrl+a对应到a
:map <C-a> a
    • 令Alt+a对应到a
:map <A-a> a
    • 令Ctrl+Alt+a对应到a
:map <C-A-a> a

到此,我们已经可以做很多事情了。
但是map命令远不只这一种,在不同的模式下,同一组按键可以被映射到不同的组合上。
Vim的模式众多,但是一般被提及的也就是这么几种:

    1. Normal Mode

也就是最一般的普通模式,默认进入vim之后,处于这种模式。

    1. Visual Mode

一般译作可视模式,在这种模式下选定一些字符、行、多列。
在普通模式下,可以按v进入。

    1. Insert Mode

插入模式,其实就是指处在编辑输入的状态。普通模式下,可以按i进入。

    1. Select Mode

在gvim下常用的模式,可以叫作选择模式吧。用鼠标拖选区域的时候,就进入了选择模式。
和可视模式不同的是,在这个模式下,选择完了高亮区域后,敲任何按键就直接输入并替换选择的文本了。
和windows下的编辑器选定编辑的效果一致。普通模式下,可以按gh进入。

    1. Command-Line/Ex Mode

就叫命令行模式和Ex模式吧。两者略有不同,普通模式下按冒号(:)进入Command-Line模式,可以输入各种命令,
使用vim的各种强大功能。普通模式下按Q进入Ex模式,其实就是多行的Command-Line模式。

对于Map,有几个基本的概念

    • 命令的组合

同Vim下的其他命令一样,命令的名字往往由好几段组成。前缀作为命令本身的修饰符,微调命令的效果。
对于map而言,可能有这么几种前缀

      1. nore

表示非递归,见下面的介绍

      1. n

表示在普通模式下生效

      1. v

表示在可视模式下生效

      1. i

表示在插入模式下生效

      1. c

表示在命令行模式下生效

    • Recursive Mapping

递归的映射。其实很好理解,也就是如果键a被映射成了b,c又被映射成了a,如果映射是递归的,那么c就被映射成了b。

:map a b
:map c a

对于c效果等同于

:map c b

默认的map就是递归的。如果遇到[nore]这种前缀,比如:noremap,就表示这种map是非递归的。

    • unmap

unmap后面跟着一个按键组合,表示删除这个映射。

:unmap c

那么在map生效模式下,c不再被映射到a上。

同样,unmap可以加各种前缀,表示影响到的模式。

    • mapclear

mapclear直接清除相关模式下的所有映射。
同样,mapclear可以加各种前缀,表示影响到的模式。

这里列出常用的一些map命令,默认map命令影响到普通模式和可视模式。

:map :noremap :unmap :mapclear
:nmap :nnoremap :nunmap :nmapclear
:vmap :vnoremap :vunmap :vmapclear
:imap :inoremap :iunmap :imapclear
:cmap :cnoremap :cunmap :cmapclear

可以试试这些命令

  1. 命令行模式下建一个mapping

     nmap b a 
  2. 现在普通模式下,按b,可以进入插入模式,随便输入一些字符
  3. 命令行模式下建一个mapping
     vmap b d 
  4. 现在普通模式下,按V,进入了可视模式,并且选定了一整行,按下b,可以删除整行
  5. 命令行模式下建一个mapping
     imap b a 
  6. 现在试着给正在编辑的这个文件输入一个字符”b”吧 :p
  7. 命令行模式下建一个mapping
     cmap b c 
  8. 命令行模式下, 按下b,会出来一个a

好了,到此vim的按键已经被你弄得乱七八糟了,试着用unmap和mapclear清除这些mapping吧。:]

转自:http://haoxiang.org/2011/09/vim-modes-and-mappin/

时间: 2024-10-03 13:20:40

VIM进阶学习之几种模式和按键映射的相关文章

辛星跟您玩转vim第一节之vim的下载与三种模式

首先值得一提的是,我的vim教程pdf版本已经写完了,大家可以去下载,这里是csdn的下载地址:点此下载 ,如果左边的下载地址挂掉了,也可以自行在浏览器下面输入如下地址进行下载:http://download.csdn.net/detail/xinguimeng/7714213 ,当然,如果你是百度网盘的忠实用户,也可以借助于百度网盘,我也同步上传到百度网盘了,下载地址如下:百度网盘下载 ,如果地址挂了,可以在浏览器中输入:http://pan.baidu.com/s/1sj9CLXz 来下载.

云计算学习之3种模式 Linux云计算运维

在云计算大行其道的时代,越来越多的互联网公司开始使用云,那么要选择什么模式的呢?云计算又有几种模式? 按照商业模式的不同,云计算被分为了三大类:公有云.私有云和混合云.这三种模式构成了云基础设施构建和消费的基础. 私有云是为一个客户单独使用而构建的,因此提供对数据.安全性和服务质量的有效控制.企业拥有基础设施,并可以控制在此基础设施上部署应用程序的方式.私有云可部署在企业数据中心的防火墙内,也可以部署在一个安全的主机托管场所,私有云的核心属性是专有资源.可由公司自己的互联网机构,也可由云提供商进

Redis学习之4种模式实践及机制解析(单机、主从、哨兵、集群)

Redis在日常部署的时候,可以有多种部署模式:单机.主从.哨兵.集群(分区分片),因此本例将对上面这四种模式进行详细的讲解,特别是集群模式将进行最细致的讲解(现行普遍使用的方式). 一.单机部署 单机部署很简单,直接下载Redis进行安装即可,此处不作详细讲解,具体Redis的安装请参考:Mac下安装Redis及Redis Desktop Manager,Windows以及Linux下的安装没啥不同. 单机模式部署有自己的优缺点,可以根据自己需要进行使用,优点如下: 架构简单,部署方便: 高性

vim进阶学习及相关配置&amp;插件 随手记录,待统一整理

先学习vim原生快捷键及相关命令,之后再添加插件.(用到时记录,暂时会比较乱,不定期整理) PS: ctrl+s 表示停止向终端停止输出; ctrl+q 恢复向终端输出流. 使用各种快捷键可能误按到ctrl+s,此时按键窗口无反应,使用ctrl+q恢复. vim自动补全: vi/vim使用进阶: 自动补全(ctrl+x ctrl+相关键,个人感觉主要用:n当前文件关键字,f文件名,l整行,d宏定义) (http://easwy.com/blog/archives/advanced-vim-ski

LVS学习笔记之三种模式的特点概括

NAT: 1.RealServer应该使用私有IP地址: 2.RealServer的网关应该指向DIP: 3.RIP和DIP应该在同一个网段内: 4.进出的报文都得经过Directory,在高负载下,Directory会成为系统性能瓶颈: 5.支持端口映射: 6.RealServer可以使用任意OS. DR:Direct Routing 1.RealServer可以使用公网地址: 2.RealServer的网关一定不能指向DIP: 3.RealServer和Director要在同一物理网络内,D

vim 的三种模式的用法

vim的三种模式一般模式 在这个模式下,可以:上下移动光标,删除某个字符,删除某行,复制.粘贴一行或者多行. 一般模式下的光标移动 h或者向左方向键 光标向左移动一个字符 l或者向右方向键 光标向右移动一个字符 k或者向上方向键 光标向上移动一个字符 j或者向下方向键 光标向下移动一个字符 Ctrl+f或pageup键 屏幕向前移动一页 Ctrl+b或pagedown键 屏幕向后移动一页 数字0或者Shift + 6 移动到本行行首 Shift + 4 移动到本行行尾 gg 移动到首行 G 移动

Vim编辑器的三种模式说明

Vim编辑器基本上可以分为3种模式,分别是命令模式(command mode).插入模式(Insert mode)和底行模式(last line mode),下图所示为Vim各种模式相互转换的关系图. 命令模式:控制屏幕光标的移动,进行文本的删除.复制等文字编辑工作(不使用[Del]键和[Backspace]键)以及进入插入模式,或者回到底行模式. 插入模式:只有在插入模式下,才可以输入文字.按[Esc]键可回到命令行模式.很多Vim编辑器使用者希望一打开Vim就可以输入内容,但这是不能成功的,

Vim编辑器的三种模式

Vim编辑器基本上可以分为3种模式,分别是命令模式(command mode).插入模式(Insert mode)和底行模式(last line mode),下图所示为Vim各种模式相互转换的关系图. 命令模式:控制屏幕光标的移动,进行文本的删除.复制等文字编辑工作(不使用[Del]键和[Backspace]键)以及进入插入模式,或者回到底行模式. 插入模式:只有在插入模式下,才可以输入文字.按[Esc]键可回到命令行模式.很多Vim编辑器使用者希望一打开Vim就可以输入内容,但这是不能成功的,

转载:Linux的vim三种模式

一般模式:在Linux终端中输入“vim 文件名”就进入了一般模式,但不能输入文字. 编辑模式:在一般模式下按i就会进入编辑模式,此时就可以写程式,按Esc可回到一般模式. 命令模式:在一般模式下按:就会进入命令模式,左下角会有一个冒号出现,此时可以敲入命令并执行. 转载网址:http://anxiongbo.blog.51cto.com/805770/163582 一. VIM高亮 进入vim后,在普通模式下输入如下命令,开启php代码高亮显示 :syntax enable :source $