第十九篇 vim编辑器的使用技巧
- ~/.viminfo文件中存储了vim编辑器中常用的命令
- vim编辑器共有3中模式:命令模式、末行模式和输入模式,三种模式的转换方式如下图所示:


- vim 文件名 # 编辑一个文件,默认会直接进入命令模式,若该文件不存在,那么会自动进行创建,并直接进入
- 命令模式下,可以对文件进行搜索、复制、粘贴、剪切(删除)等操作
- 命令模式下的操作如下:
- dd --剪切(删除)光标所在行的内容
- 5dd --剪切(删除)光标所在行下面5行,包括光标所在行
- yy --复制光标所在行的内容
- 5yy --复制光标所在行下面5行,包括光标所在行
- p --将剪切或复制的内容粘贴到光标所在行的下一行
- u --撤销操作,按一下,撤销上次操作,按两下,撤销上上次操作,···,直到回到最初进入时的状态,然后你会看到文档左下角由如下信息:


- /搜索内容 --指定内容进行搜索,搜索到结果后,按"n"键或"N"键,可以在多个结果之间切换,"n"键向下切换,"N"键向上切换
- shift+g --跳到末行
- gg --跳到首行
- 命令模式是输入模式与末行模式切换的桥梁,即,输入模式无法直接转换成末行模式,必须先进入命令模式
- 在命令模式下,按下"a、i、o"中的任意一个键即可进入输入模式
- a --在光标所在位置的下一个字符处开始进行编辑
- i --在光标所在位置开始进行编辑
- o --在光标所在行下新建一个空行开始编辑
- 输入模式下,可以进行文本内容的正常编辑操作
- 在输入模式下,按下"Esc"键,即可返回到命令模式
- 在命令模式下,按下"shift + ;"键,即可进入末行模式
- 末行模式下的操作如下
- :w --保存
- :q --退出
- :wq --保存并退出
- :q! --强制退出
- :wq! --强制保存并退出
- :set nu --显示行号
- :$ --跳到末行
- :1 --跳到首行
- :数字 --跳到指定行
- 在末行模式下,按下"Esc"键,即可返回到命令模式
第十九篇 vim编辑器的使用技巧的更多相关文章
- Python之路【第十九篇】:爬虫
Python之路[第十九篇]:爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...
- Egret入门学习日记 --- 第十九篇(书中 8.8~8.10 节 内容)
第十九篇(书中 8.8~8.10 节 内容) 开始 8.8节. 重点: 1.类型推断. 2.类型强制转换,使其拥有代码提示功能. 3.除了TS自带的类型判断,Egret官方也提供了类型判断的方法. 操 ...
- Android UI开发第三十九篇——Tab界面实现汇总及比较
Tab布局是iOS的经典布局,Android应用中也有大量应用,前面也写过Android中TAb的实现,<Android UI开发第十八篇——ActivityGroup实现tab功能>.这 ...
- Linux学习笔记(十二)VIM编辑器
一.概述 VI Visual interface 可视化接口,类似于Windows中的记事本 VI->VIM 操作模式: (1)Command mode 命令模式 (2)Insert mode ...
- Linux中vim编辑器常用操作技巧
Normal 0 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable {mso-styl ...
- 第十九篇 -- QTableWidget的使用
QTableWidget的一些常用方法 下面两个类可以根据自己的情况自定义. 单元格类型的类: class CellType(Enum): ctKey = 1000 ctPath = 1001 ctI ...
- 第九十九篇:JS闭包
好家伙,总是要来的,去面对那些晦涩难懂的原理,它就在那里,等着我去搞定它 首先我要去补充一些最基本的概念, 1.什么是内存? 新华字典永远的神, 但这个解释显然不够 去看看百度百科: 内存: CP ...
- Python开发【第十九篇】:Python操作MySQL
本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb ...
- 【Python之路】第十九篇--Python操作MySQL
本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb ...
随机推荐
- jQuery---基本的选择器
基本选择器 名称 用法 描述 ID选择器 $(“#id”); 获取指定ID的元素 类选择器 $(“.class”); 获取同一类class的元素 标签选择器 $(“div”); 获取同一类标签的所有元 ...
- java - CAS及CAS底层原理
CAS是什么? CAS的全称为Compare-And-Swap它是一条CPU并发原语,也就是在CPU硬件层面上来说比较并且判断是否设置新值这段操作是原子性的,不会被其他线程所打断.在JAVA并发包ja ...
- IntelliJ IDEA Ultimate 6.2 版本免费试用期过期后如何破解
今天早上一打开IntelliJ IDEA时弹出“InteliJ IDEA License Activation”界面,需要激活新的license才可以使用.下面直接使用Activation code进 ...
- the first week
一.2019我国软件产业调研 2019年1-11月,全国软件和信息技术服务业规模以上企业4.03万家,累计完成软件业务收入64616亿元,同比增长15.5%. 从收入便可以看出软件产业的发展前景还是十 ...
- mybatis一级缓存和二级缓存(三)
缓存详细介绍,结果集展示 https://blog.csdn.net/u013036274/article/details/55815104 配置信息 http://www.pianshen.co ...
- Java判断一个字符串是否有中文
Java判断一个字符串是否有中文一般情况是利用Unicode编码(CJK统一汉字的编码区间:0x4e00–0x9fbb)的正则来做判断,但是其实这个区间来判断中文不是非常精确,因为有些中文的标点符号比 ...
- navicat异常 - 1130-host ... is not allowed to connect to this MySql server
错误描述 用navicat连接数据库报错:1130-host ... is not allowed to connect to this MySql server如何处理 解决方案 1.连接服务器: ...
- idea修改忽视文件产生得bug
为了提交代码方便,在idea中增加了忽视文件选项. 这一修改可把自己坑惨了,更改代码运行代码得时候,连打印都没出来,对照了半天代码 也没发现是哪里得错误,后来想到某次修改代码后class文件并没改变, ...
- TC基础与自动化
前言 互联网产品的测试常常要覆盖在不同网络下的表现,例如丢包,带宽受限,时延及抖动等网络较差的情况,为了测试场景的网络情况可定义及复现,就需要有个工具对弱网进行模拟.业界一些通用的弱网模拟工具,如NE ...
- pve proxmox 常见问题,perl warning
pve命令,如下报错 perl: warning: Setting locale failed. perl: warning: Please check that your locale settin ...