浅谈vim的四种模式及模式切换
vim和记事本或WORD不一样,不是一打开后就可以输入文字,此时它处于正常模式。
vim一共有4个模式:
• 正常模式 (Normal-mode)
• 插入模式 (Insert-mode)
• 命令模式 (Command-mode)
• 可视模式 (Visual-mode)
正常模式
启动vim后默认处于正常模式。不论位于什么模式,按下<Esc>键(有时需要按两下)都会进入正常模式。
插入模式
在正常模式中按下i, I, a, A等键,会进入插入模式。现在只用记住按i键会进行插入模式。在插入模式中,击键时会写入相应的字符。
命令模式
在正常模式中,按下:(英文冒号)键,会进入命令模式。在命令模式中可以执行一些输入并执行一些vim或插件提供的指令,就像在shell里一样。这些指令包括设置环境、文件操作、调用某个功能等等。
常用的命令有:q(退出)、q!(强制退出)、w(保存)、wq(保存并退出)。
可视模式
在正常模式中按下v, V, <Ctrl>+v,可以进入可视模式。可视模式中的操作有点像拿鼠标进行操作,选择文本的时候有一种鼠标选择的即视感,有时候会很方便。
以上这篇浅谈vim的四种模式及模式切换就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Linux vim编辑命令模式
vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率.vi是"visual interface"的缩写,vim是vi IMproved(增强版的vi).在一般的系统管理维护中vi就够用,如果想使用代码加亮的话可以使用vim.下面是vi的使用教程:包含vi的基本介绍.使用模式.文件的打开关闭保存.插入文本或新建行.移动光标.删除.恢复字符或行.搜索等等,算是一篇比较适合新手学习vi的教程.
-
浅谈vim的四种模式及模式切换
vim和记事本或WORD不一样,不是一打开后就可以输入文字,此时它处于正常模式. vim一共有4个模式: • 正常模式 (Normal-mode) • 插入模式 (Insert-mode) • 命令模式 (Command-mode) • 可视模式 (Visual-mode) 正常模式 启动vim后默认处于正常模式.不论位于什么模式,按下<Esc>键(有时需要按两下)都会进入正常模式. 插入模式 在正常模式中按下i, I, a, A等键,会进入插入模式.现在只用记住按i键会进行插入模式.在插入模
-
浅谈MySQL中四种常用存储引擎
MySQL常用的四种引擎的介绍 (1):MyISAM存储引擎: 不支持事务.也不支持外键,优势是访问速度快,对事务完整性没有 要求或者以select,insert为主的应用基本上可以用这个引擎来创建表 支持3种不同的存储格式,分别是:静态表:动态表:压缩表 静态表:表中的字段都是非变长字段,这样每个记录都是固定长度的,优点存储非常迅速,容易缓存,出现故障容易恢复:缺点是占用的空间通常比动态表多(因为存储时会按照列的宽度定义补足空格)ps:在取数据的时候,默认会把字段后面的空格去掉,如果不注意会把
-
浅谈js函数三种定义方式 & 四种调用方式 & 调用顺序
在Javascript定义一个函数一般有如下三种方式: 函数关键字(function)语句: function fnMethodName(x){alert(x);} 函数字面量(Function Literals): var fnMethodName = function(x){alert(x);} Function()构造函数: var fnMethodName = new Function('x','alert(x);') // 由Function构造函数的参数个数可变.最后一个参数写函数体
-
浅谈Vim中的Tab与空格缩进
vim缩进参数解析 缩进用 tab 制表符还是空格,个人爱好问题.但是在大多项目中,习惯使用空格.关于缩进,vim中可以通过如下四个参数进行配置 set tabstop=4 set softtabstop=4 set shiftwidth=4 set noexpandtab / expandtab1 解析: tabstop 表示按一个tab之后,显示出来的相当于几个空格,默认的是8个. softtabstop 表示在编辑模式的时候按退格键的时候退回缩进的长度. shiftwidth 表示每一级缩
-
浅谈JAVA设计模式之代理模式
代理模式 在代理模式(Proxy Pattern)中,一个类代表另一个类的功能.这种类型的设计模式属于结构型模式. 在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口. 介绍 意图: 为其他对象提供一种代理以控制对这个对象的访问. 主要解决: 在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上.在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象时
-
浅谈HashMap中7种遍历方式的性能分析
目录 一.前言 二.HashMap遍历 2.1.迭代器EntrySet 2.2.迭代器 KeySet 2.3.ForEachEntrySet 2.4.ForEach KeySet 2.5.Lambda 2.6.Streams API 单线程 2.7.Streams API 多线程 三.性能分析 四.字节码分析 五.EntrySet性能分析 六.安全性测试 6.1.迭代器方式 6.2.For 循环方式 6.3.Lambda 方式 6.4.Stream 方式 6.5.小结 七.总结 一.前言 随着
-
浅谈Spring的两种事务定义方式
一.声明式 这种方法不需要对原有的业务做任何修改,通过在XML文件中定义需要拦截方法的匹配即可完成配置,要求是,业务处理中的方法的命名要有规律,比如setXxx,xxxUpdate等等.详细配置如下: <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="
-
浅谈Spring的两种配置容器
Spring提供了两种容器类型 SpringIOC容器是一个IOC Service Provider.提供了两种容器类型:BeanFactory和ApplicationContext.Spring的IOC容器是一个提供IOC支持的轻量级容器.除了基本的ioc支持,它作为轻量级容器还提供了IOC之外的支持. BeanFactory BeanFactory是基础类型IOC容器.顾名思义,就是生产Bean的工厂.能够提供完整的IOC服务.没有特殊指定的话,其默认采用延迟初始化策略.只有当客户端对象需要
-
浅谈Java的两种多线程实现方式
本文介绍了浅谈Java的两种多线程实现方式,分享给大家.具有如下: 一.创建多线程的两种方式 Java中,有两种方式可以创建多线程: 1 通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2 通过实现Runnable接口,实例化Thread类 在实际应用中,我们经常用到多线程,如车站的售票系统,车站的各个售票口相当于各个线程.当我们做这个系统的时候可能会想到两种方式来实现,继承Thread类或实现Runnable接口,现在看一下这两种方式实现的两种结果. 程序1
-
浅谈线程的几种可用状态
1. 新建( new ):新创建了一个线程对象. 2. 可运行( runnable ):线程对象创建后,其他线程(比如 main 线程)调用了该对象 的 start ()方法.该状态的线程位于可运行线程池中,等待被线程调度选中,获 取 cpu 的使用权 . 3. 运行( running ):可运行状态( runnable )的线程获得了 cpu 时间片( timeslice ) ,执行程序代码. 4. 阻塞( block ):阻塞状态是指线程因为某种原因放弃了 cpu 使用权,也即让出了 cpu
随机推荐
- Java发送带html标签内容的邮件实例代码
- ThinkPHP中实例Model方法的区别说明
- PHP基于DOMDocument解析和生成xml的方法分析
- PHP实现的简单对称加密与解密方法实例小结
- js实现表格字段排序
- Python中给List添加元素的4种方法分享
- 从零学python系列之浅谈pickle模块封装和拆封数据对象的方法
- docker 动态映射运行的container端口实例详解
- js与jQuery实现checkbox复选框全选/全不选的方法
- C语言矩阵连乘 (动态规划)详解
- 轻松掌握jQuery中wrap()与unwrap()函数的用法
- jQuery 3.0十大新特性
- java之static关键字用法实例解析
- Python中os.path用法分析
- jQuery Tags Input Plugin(添加/删除标签插件)详解
- MySQL 8.0.13设置日期为0000-00-00 00:00:00时出现的问题解决
- Ubuntu16.04 中 locate文件查找命令
- 易语言分割文本命令将一段文本通过指定文本分割开
- PHP+Apache实现二级域名之间共享cookie的方法
- gateway和jwt网关认证实现过程解析