第十九篇 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 ...
随机推荐
- uniGUI之自定义JS事件动作ClientEvents(30)
sender.setText('Over'); MainForm.UniLabel1.setPosition(x, y); MainForm.UniLabel1.setText('Click!');
- The Number of Inversions
For a given sequence A={a0,a1,...an−1}A={a0,a1,...an−1}, the number of pairs (i,j)(i,j) where ai> ...
- BZOJ的思维题
5085:最大 给你一个n×m的矩形,要你找一个子矩形,价值为左上角左下角右上角右下角这四个数的最小值,要你最大化矩形 的价值. 关键点是要想到把这些值排序 值从小到大考虑,比如说现在最小的值是(x1 ...
- [HNOI2013] 消毒 - 二分图匹配
容易发现 \(a,b,c\) 中至少有一个 \(\leq 17\) 不妨将其调剂为 \(a\),那么我们可以暴力枚举哪些 \(x\) 片片要被直接削掉,剩下的拍扁成二维情况 二维时,如果有一个格子是 ...
- [P4450] 双亲数 - 莫比乌斯反演,整除分块
模板题-- \[\sum\limits_{i=1}^a\sum\limits_{j=1}^b[(i,j)=k] = \sum\limits_{i=1}^a\sum\limits_{j=1}^b[k|i ...
- ubuntu18.04 编译fortran出现 ‘没有f951这个文件’处理
机器自带了gcc所以可以编译fortran文件, 使用时, gcc **.for –o ***.out 提示,没有找到f951. 然后去网上找解决方案,有的人说在其他地方找到了f951,然后把他复制到 ...
- c++踩坑大法好 typedef和模板
1,typedef字面意思,自定义一种数据类型 语法:typedef 类型名称 类型标识符; 基本用法: 1) 为基本数据类型定义新的类型名. 2) 为自定义数据类型(结构体.公用体和枚举类型)定义简 ...
- Python的特点
简单易学. 免费开源. 跨平台. 解释性.不需要编译就可以直接运行,使用更加简单,移植性更强. 面向对象.arcgis也支持面向对象编程.
- Centos7更改网卡名称Eth0
标签: Centos7更改网卡名称 2016-12-06 21:55 8737人阅读 评论(1) 收藏 举报 分类: linux(6) 作者同类文章X 版权声明:本文为博主原创文章,未经博主允许不 ...
- 关于“教室派”APP的使用报告和相关建议
教室派APP能够很好的解决学生查询各教室占用情况这一问题,使用起来非常方便.用户可根据需要选取星期来查询不同教学楼教室使用情况. 编辑课表是其附带功能,但通过使用发现手动编辑课表效率太低,建议开发者加 ...