VIM - 模式简介
1. 概述
- 简述 vim 模式
- 很简单的东西, 随便说说得了
2. 模式们
- 概述
- vim 各个模式
- 后面的切换, 都是从 标准模式 切换到其他模式
1. Normal Mode
- 名称
- 标准模式 / 常规模式 /普通模式
- 后面都叫 标准模式
- 作用
- vim 的默认模式
- 在文档中做 简单的位置跳转
- 还有 复制, 粘贴, 删除 等操作
- 标志
- 左下角没有任何显示
- 按 h, j, k, l, 可以对 光标 做 向左, 向下, 向上, 向右 的 位移操作
2. Insert Mode
- 名称
- 插入模式
- 作用
- 编辑文本, 做 增删改 操作
- 标志
- 左下角有文本
-- INSERT --
- 左下角有文本
- 切换
- i
- a
3. Visual Mode
- 名称
- 视觉模式
- 名字有点别扭, 但是暂时想不出别的了
- 作用
- 可以选定整块内容, 并执行操作
- 支持 列模式
- 标志
- 左下角有文本
-- VISUAL --
- 左下角有文本
- 切换
- v
4. Command Mode
- 名称
- 命令模式
- 作用
- 执行命令
- 调整 vim 环境
- 查找, 替换内容
- 多窗口切换
- 其他强大功能
- 执行命令
- 标志
- 左下角以 : 或者 / 开头
- 切换
- :
- /
5. Replace Mode
- 名称
- 替换模式
- 作用
- 替换光标位置的 文本内容
- 用的比较少
- 标志
- 左下角有文本
-- REPLACE --
- 左下角有文本
- 切换
- R
3. 留个坑
- 模式之间, 是可以相互切换的
- 切换的操作, 简单讲了一部分, 没有系统归类, 以后应该也不会了
- 我认为, 刻意去记忆 如何在模式间切换, 不是一个很好的学习方式
- 我的思路, 还是以功能为主
- 按照常见的行为模式, 分类处理
- vim 使用
- 好些同学觉得, 我不用 linux, 就接触不到 vim, 这玩意没啥用处
- 实际上, vim 是个强大的文本编辑器, 而且获取很方便, 不用, 其实有点亏
- windows 下的 vim
- 可以安装 git , 在 git bash 中, 使用 vim 命令
- 对于 使用 intelliJ 的 IDE 的同学, 可以在 setting 的 plugin 里, 找到 ideavim 插件
- 在废话一句, 熟练地使用 vim, 对于工作效率, 是有帮助的
ps
- ref
- freecodecamp
https://guide.freecodecamp.org/vim/modes/
- freecodecamp
VIM - 模式简介的更多相关文章
- MVVM模式和在WPF中的实现(一)MVVM模式简介
MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...
- Sublime Text 3 插件安装及Vim 模式设置
1.安装Sublime Text 3 下载安装:http://www.sublimetext.com/3 Package Control安装:https://sublime.wbond.net/in ...
- 【前端学习】sublime开启vim模式
学习目标:在sublime下开启vim模式,了解基本vim的编辑快捷键. 下载安装Sublime Text 3 :http://www.sublimetext.com/3 Vim/Vi: Vim/Vi ...
- 代理(Proxy)模式简介
Proxy 模式简介 代理模式的两个应用: 打开文档时加载大图片 例如:如果有个对象是一张很大的图片,而这张图片需要花费很长时间才能显示出来,那么当这个图片包含在文档中的后面时,使用编辑器或浏览器打开 ...
- Sublime Text 3配置与vim模式(待完整)
Sublime Text 3通过设置默认值与用户值的方式,来进行配置.默认值不允许更改,用户值是用户进行配置.同一属性,当用户值存在时,默认值就无效.打开Preference,如图: 先贴下我的Set ...
- (转)Qt Model/View 学习笔记 (一)——Qt Model/View模式简介
Qt Model/View模式简介 Qt 4推出了一组新的item view类,它们使用model/view结构来管理数据与表示层的关系.这种结构带来的 功能上的分离给了开发人员更大的弹性来定制数据项 ...
- vim模式下报错E37: No write since last change (add ! to override)
故障现象: 使用vim修改文件报错,系统提示如下: E37: No write since last change (add ! to override) 故障原因: 文件为只读文件,无法修改. 解决 ...
- 转:vim模式下报错E37: No write since last change (add ! to override)
故障现象: 使用vim修改文件报错,系统提示如下: E37: No write since last change (add ! to override) 故障原因: 文件为只读文件,无法修改. 解决 ...
- idea取消vim模式
在安装idea时选择了vim编辑模式,但是用习惯了eclipse,总是要拷贝粘贴,在idea中一直按ctrl+c和ctrl+v不起总用.于是想把vim模式关闭掉.方法:菜单栏:tools->vi ...
随机推荐
- 结构类型:Struct
一.概述: 结构类似于类,但结构为值类型,存储于栈中. 结构不能继承和被继承,但可实现接口. 结构成员访问级别有public,private(默认) ,internal. 1.简单结构 可以将无方法, ...
- Angular Reactive Form - 填充表单模型
setValue 使用setValue,可以通过传递其属性与FormGroup后面的表单模型完全匹配的数据对象来一次分配每个表单控件值. 在分配任何表单控件值之前,setValue方法会彻底检查数据对 ...
- js oc与线程
分属不同的线程 //定义需要暴露给js的内容,这里我们只暴露personName和queryPersonName接口 @protocol PersonProtocol <JSExport> ...
- 如何批量下载bing的背景图片?
工具准备 wget(点击下载) 批处理命令(点击下载) 网友提供的接口:http://area.sinaapp.com/bingImg?daysAgo=1(1代表天数) 实现步骤 1.打开记事本,并将 ...
- rand7生成rand10,rand1生成rand6,rand2生成rand5(包含了rand2生成rand3)
这种题要分两步,第一步是“插空儿”,第二步是“筛” 1.rand7生成rand10 只要是10的倍数就好 int rand10() { int num; do{ num = (rand7() - ) ...
- Maven profile动态选择配置条件
背景 在开发过程中,我们的软件会面对不同的运行环境,比如开发环境.测试环境.生产环境,而我们的软件在不同的环境中,有的配置可能会不一样,比如数据源配置.日志文件配置.以及一些软件运行过程中的基本配置, ...
- PAT——1070. 结绳
给定一段一段的绳子,你需要把它们串成一条绳.每次串连的时候,是把两段绳子对折,再如下图所示套接在一起.这样得到的绳子又被当成是另一段绳子,可以再次对折去跟另一段绳子串连.每次串连后,原来两段绳子的长度 ...
- 用javascript调用表单验证事件时,为什么return false了还是把表单submit了?
表单提交前,都会有定义一个验证的方法以对用户提交的内容进行限定,今天写到了这个,但出现了一个好郁闷的东西,就是一点提交了,调用我自己写的一个CheckForm()方法时,我明明写了return fal ...
- Mysql数据库写入数据速度优化
Mysql数据库写入数据速度优化 1)innodb_flush_log_at_trx_commit 默认值为1:设置为0,可以提高写入速度. 值为0:提升写入速度,但是安全方面较差,mysql服务器 ...
- Hibernate工作原理及为什么要用?. Struts工作机制?为什么要使用Struts? spring工作机制及为什么要用?
三大框架是用来开发web应用程序中使用的.Struts:基于MVC的充当了其中的试图层和控制器Hibernate:做持久化的,对JDBC轻量级的封装,使得我们能过面向对象的操作数据库Spring: 采 ...