VIM之模式
1.模式介绍:
在真正开始使用VIM之前,你必须先了解VIM的模式,否则在 VIM 面前你可能会手足无措。VIM是有模式
编辑器,这意味着 VIM 有多种不同的工作模式,在不同的工作模式下用户相同的操作会得到不同的结果。想象
一下你的手机,当你的手机处于待机状态时(Sleep mode),按下电源键是唤醒手机,当你的手机处于活动
状态时(Active mode),按下电源键却是进入待机状态。VIM通过模式,扩展了你的键盘,相当于使用模式
使你手机的电源键功能得到扩展一样。VIM这样做就是为了让你更高效率的编辑你的文字。
VIM的主要模式有:
1)Normal Mode:字面翻译常规模式,但是我更愿意称其为“编排模式”。VIM在启动后即为Normal
Mode,在这个模式下你的操作是命令VIM帮助你完成某个动作,例如,你在键盘
点击"h"按键,等同于你按下方向键"<—",光标向左移一个字符。在Normal Mode
下,你的更多操作是修改文档,所以我更愿意称之为编排模式。
2) Insert Mode:字面翻译插入模式,但是我更愿意称之为“编写模式”。在这个模式下,你按下"h"键,
即输入了"h"字符,和我们用记事本编辑文字无甚区别,这叫“所键既所得” ^^。当
处于Insert mode时,VIM显示如图:
3) Visual Mode:字面翻译为可视模式,其实我更愿意称之为“区块操作模式”,因为在这个模式下,你
总是先选中某个区域,然后再执行某种操作,这个模式可以视为局部的Normal Mode。
当进入Visual mode时,VIM显示如图:
2.模式之间的切换
Normal mode 切换到 Insert mode:
i:进入Insert mode,并且让光标处于当前字符之前
I:进入Insert mode,并且光标处于当前行的第一个非空字符前
a:进入Insert mode,并且光标处于当前字符之后
A:进入Insert mode, 并且光标处于当前行尾
o:进入Insert mode,并在当前行后新起一行,光标位于新行
O:进入Insert mode,并在当前行上边插入新行,光标位于新行
s:删除当前字符,然后进入Insert mode
S:删除当前行,然后进入Insert mode
Insert mode 切换到Normal mode:<ESC>按键
Normal mode 切换到Visual mode:
v:进入Visual mode,选取以字符为单位
V:进入Visual mode,选取以行为单位
Visual mode 切换到Normal mode:<ESC>按键
下图为各模式转换的关系图:
VIM之模式的更多相关文章
- 5.5 进入编辑模式 5.6 vim命令模式 5.7 vim实践
5.5 进入编辑模式 5.6 vim命令模式 5.7 vim实践 进入编辑模式 小写i在当前字符前插入 大写I 在光标所在行的行首插入 大写O 在光标上面一行插入编辑 小写o在光标下面一行插入编辑 小 ...
- vim介绍/vim颜色显示和移动光标/ vim一般模式下移动光标/ vim一般模式下复制、剪切和粘贴
5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制.剪切和粘贴 vim 是vi的升级版本 vim 带有颜色显示 安装vim : y ...
- 第四章 vim 可视模式
第四章 vim 可视模式 vim的可视模式允许我们选中一块文本区域并进行操作 3种不同的可视模式 分为 操作字符文本 行文本 块文本 .命令用来重复执行可视模式中的命令 只有在操作面 ...
- vim normal 模式下L键
vim normal 模式下L键总是到一行的最后一个字符,而不是最后一个字符的下一个字符,这样进入插入模式,就还得往右移动一下,就很费劲? 怎么解决 更新: a键进入插入即可
- 进入编辑模式、vim命令模式、vim实践
第4周第5次课(4月13日) 课程内容:5.5 进入编辑模式5.6 vim命令模式5.7 vim实践 5.5 进入编辑模式 所谓编辑模式就是进入到一个可以编辑文本文档的模式,常规的方式就是按小i进入编 ...
- Vim折叠模式设置
参考文章:http://www.cnblogs.com/welkinwalker/archive/2011/05/30/2063587.html set foldmethod=indent " ...
- VIM命令模式与输入模式切换
vi编辑器 vi是UNIX和类UNIX环境下的可用于创建文件的屏幕编辑器.vi有两种工作模式:命令模式和文本输入模式.启动vi需要输入vi,按[Spacebar]键并输入文件名后回车. 切换模式键 ...
- 【vim】模式与模式切换
很多初学者启动vim后,不知道怎么输入字符:按了半天字母,结果屏幕还是空的. vim和记事本或WORD不一样,不是一打开后就可以输入文字,此时它处于正常模式. vim一共有4个模式: 正常模式 (No ...
- [转] vi/vim命令模式和编辑模式各种操作
摘要:vi 编辑器是最常用的文档创建和编辑工具,初学者应该学会简单应用vi ,学会在vi 中做简单的修改.删除.插入.搜索及替换作业:如果您是新手,不妨看看本文,或许这篇文档能让您在最短的时间内学会v ...
随机推荐
- Java学习--扑克牌比大小的小游戏
实现:生成五十四张牌,然后进行洗牌,输入两名玩家,然后分别发两张牌,进行比较大小,两张牌中拥有较大一张牌的玩家获胜 Card.java代码如下: package com.cardgame; publi ...
- Java8实战Lambda和Stram API学习
public class Trader{ private String name; private String city; public Trader(String n, St ...
- PHP获取地址栏传的id值
function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&] ...
- jquery each遍历判断返回false方法
在jquery each中遍历返回false失效,解决办法,用变量解决: var num = 0; $(".box").find("input[type='text']& ...
- Thymeleaf学习记录(5)--运算及表单
Thymeleaf文本及预算: 字面 文本文字:'one text','Another one!',... 号码文字:0,34,3.0,12.3,... 布尔文字:true,false 空字面: nu ...
- Zookeeper + Guava loading cache 实现分布式缓存
1. 概述 项目中,创建的活动内容存入redis,然后需要用到活动内容的地方,从redis去取,然后参与计算. 活动数据的一个特点是更新不频繁.数据量不大.因为项目部署一般是多机器.多实例,除了red ...
- WeinView 与 MITSUBISHI FX 系列 PLC 通讯范例
1. 范例操作概述 此范例将介绍如何快捷简易地建立WEINVIEW HMI与MITSUBISHI FX系列 PLC通讯. 注意事项:通讯参数设置,通讯线接法. 2. 规划说明 (1) 新建简单 PLC ...
- 搭建hustoj
环境:centos6.5 + LAMP环境 LAMP环境的搭建可以参考下面这篇文章 http://www.cnblogs.com/yoke/p/7257184.html 搭建完LAMP环境之后可以按照 ...
- weex 数据绑定,动态控制组件的显示内容及样式
无论的原生开发还是weex开发,经常会需要我们对一些组件/控件动态赋值,在原生中,我们大家都知道,对控件setText就可以了,那么在weex中呢,我们需要怎么做呢,其实很简单,几行代码就可以搞定!首 ...
- volley3--Volley类
Volley这个类,Volley作为整个框架的入口,其实就是创建了一个RequestQueue队列 public class Volley { /** * Default on-disk cache ...