Linux命令(三)vim编辑器的常用命令
.subTitle { background: rgba(51, 153, 0, 0.53); border-bottom: 1px solid rgba(0, 102, 0, 1); border-top-left-radius: 7px; border-top-right-radius: 7px; color: rgba(255, 255, 255, 1); height: 1.8em; line-height: 1.8em; padding: 5px }
1. vi和vim介绍
vim是vi的升级版。都是Linux系统环境下的文件编辑器
2. 进入vim编辑器
vim 文件名(注:若文件名存在,则打开这个文件;文件名如果不存在,仍然能够进入vim编辑器,保存后退出会创建这个名字的文件
3. 退出
在退出之前,若在编辑状态按键盘上的【Esc】键
1) 不保存退出 :q
2)保存退出 :wq
3) 不保存强制退出 :q!
4. 输入内容
vim有三种模式:分别是命令模式;编辑模式;底行模式。三种可以相互切换

(图片来自网络)
1) 按【i】/【o】/【a】键进入编辑模式 可自由输入
【i】表示以插入方式编辑,类似于平时的insert编辑方式;
【o】表示以open方式编辑,即该方式下 会另起一行进行编辑;
【O】表示以Open方式编辑,即该方式下 在上一行进行编辑;
【a】表示以追加方式(append)编辑,在当前光标的下一个字母开始编辑;
【A】表示以追加方式(Append)编辑,在当前光标行的末尾开始编辑;
2) 按【Esc】键退出编辑模式进入命令模式,此时可照第3条的方式退出
5. 在命令模式下,浏览文件内容常用操作
1) 使用【:set nu】显示行号
2) 输入大写字母【G】,把光标定位到最后一行
3) 输入【gg】,回到第一行
4) 上下左右移动光标
① ↑ ↓ ← →
② H J K L
6. 在命令模式下,编辑内容的常用命令
1) 【dd】表示删除当前行
2) 【u】 撤销刚才的操作
3) 【Ctrl + r】 重做刚才的操作
4) 【yy】 复制当前行
5) 【p】 将剪切板的内容粘贴到当前行的下一行
7. 在命令模式下的搜索
格式: /关键词
搜索的结果使用【n】表示往下一个,【N】表示往上一个
8. 在命令模式下的区块操作
使用【Ctrl + V】 进入区块操作,然后按上下左右键可选定执行区块操作的范围,对选中的进行操作。可使用【Shift + I】 进入编辑模式进行编辑
9. 在命令模式下替换用法
1)将光标所在位置的 abc 替换为 xyz,那么就这样:【:s/abc/xyz/】,即格式为:【:s/】
2)将光标所在行的abc替换为xyz,那么就这样:【:s/abc/xyz/g】,即格式为:【:s/xx/xxx/g】
3)替换文件中所有行中的 abc替换为xyz,只需在替换命令的最前面加上了“1,$”,类似与“m,n”的格式,那么就这样:【:1,$s/abc/xyz/g】,格式为:【:1,$s/xx/xxx/g】
转义替换:
4)当前行里所有的“S.”替换为“S->”,就需要用到转义符:【:s/S\./S->/g】。因为点号“.”为特殊匹配符,在正则中表示单个字符,所以如果想匹配点号,就需要把“\”放在点号前面,表示取消点号的特殊意义。
5)将aaa 2008-07-01 bbb 替换为 aaa '2008-07-01' bbb, 则这样写:【:1,$s/\([0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}\)/'\1'/g】
还有其他更复杂的,我们要逐步解释一下,这里面共涉及了三个知识点:
第一个知识点:[0-9] 表示 0 到 9 之间的任一个数字,这是正则中表示数字集合的标准写法。
第二个知识点:{n} 表示将此符号前面的元素重复 n 遍,所以 [0-9]{4} 就表示一个四位数的数字。
第三个知识点:如果在匹配方案中用到了(),则表示要暂存括号中所匹配到的内容,而 \1 表示替换为暂存的内容(题外话:如果存在多个括号组,则后面要通过编号来依次对应,如 \1、\2、\3 等)。
Linux命令(三)vim编辑器的常用命令的更多相关文章
- VIM编辑器的常用命令及使用!
在热门Linux操作系统中都会默认安装一款超好用的文本编辑器——名字叫“vim”,vim是vi编辑器的升级版. Vim能够得到这么多厂商与用户的认可,原因就是在Vim编辑器中有三种模式——命令模式.末 ...
- vim编辑器的常用命令
按ESC键跳到命令模式,然后::w - 保存文件,不退出 vim.:w file -将修改另外保存到 file 中,不退出 vim.:w! -强制保存,不退出 vim .:wq -保存文件,退出 vi ...
- Linux系统Vi/Vim编辑器的简单介绍、安装/卸载、常用命令
Linux系统Vi/Vim编辑器的简单介绍.安装/卸载.常用命令 1.介绍 vi(Visual Interface)编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界 ...
- 4.Vim编辑器与Shell命令脚本
第4章 Vim编辑器与Shell命令脚本 章节简述: 本章首先讲解如何使用Vim编辑器来编写.修改文档,然后通过逐个配置主机名称.系统网卡以及Yum软件仓库参数文件等实验,帮助读者加深Vim编辑器中诸 ...
- 你一定要知道的关于Linux文件目录操作的12个常用命令
写在前面: 1,<你一定要知道的关于Linux文件目录操作的12个常用命令>是楼主收集的关于Linux文件目录操作最常用的命令,包括文件或目录的新建.拷贝.移动.删除.查看等,是开发人员操 ...
- Linux检查和收集硬件信息的常用命令总结
Linux检查和收集硬件信息的常用命令总结 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Linux基础真的很重要,基础不牢,地动山摇.这句话我是听老男孩创始人冉总说的一句话,起初 ...
- [转帖]linux中systemctl详细理解及常用命令
linux中systemctl详细理解及常用命令 2019年06月28日 16:16:52 思维的深度 阅读数 30 https://blog.csdn.net/skh2015java/article ...
- linux中systemctl详细理解及常用命令
linux中systemctl详细理解及常用命令 https://blog.csdn.net/skh2015java/article/details/94012643 一.systemctl理解 Li ...
- Linux内存运维操作及常用命令
Linux内存运维操作及常用命令 1.问题诊断 1.1 什么是 Linux 服务器 Load Average? 1.2如何查看 Linux 服务器负载? 1.3服务器负载高怎么办? 1.4如何查看服务 ...
随机推荐
- 一、.Net Core 依赖注入详解及Autofac使用
.NET中的依赖注入实际上帮助我们解耦了我们的代码,是控制反转和依赖反转原则的具体实现. .Net Core的依赖注入的好处: 1. application 更稳定,容易维护和演化: 2. 实现细节的 ...
- 混沌工程之ChaosToolkit使用之一删除K8s POD
今天我们来玩一下混沌工程的开源工具chaostoolkit . 它的目标是提供一个免费,开放,社区驱动的工具集以及api. 官方源码链接:https://github.com/chaostoolkit ...
- InterlliJ Debug启动提示:Method breakpoints may dramatically slow down debugging
- OpenMVG 系列 (1):入门简介
1 OpenMVG 简介 全称 Open Multiple View Geometry,是法国人 Pierre Moulon 读博期间开源的一个 C++ 库 最早版本 OpenMVG 0.1 是 ...
- Gym 101147G 第二类斯特林数
大致题意: n个孩子,k场比赛,每个孩子至少参加一场比赛,且每场比赛只能由一个孩子参加.问有多少种分配方式. 分析: k>n,就无法分配了. k<=n.把n分成k堆的方案数乘以n的阶乘.N ...
- [Kick Start] 2021 Round B
题目:Kick Start 2021 Round-B . Increasing Substring 输出字符串中每个字符的最长 Increasing Substring 的长度,非常简单的动态规划问题 ...
- 24 shell 管道命令与过滤器
1.管道命令的用法 2.使用管道命令的好处: 3.重定向和管道的区别 4.Linux管道实例 5.管道与重定向 1)管道与输入重定向 2)管道与输出重定向 6.过滤器 7.过滤器举栗 1.管道命令的用 ...
- <mvc:default-servlet-handler/>导致controller失效,报404错误
最近在做ssm框架整合的一个小项目时,页面跳转一直有404错误,也没有报错提示.然后一步一步去找,终于发现是<mvc:default-servlet-handler/>的原因.如下图所示, ...
- 一千个不用 Null 的理由!
港真,Null 貌似在哪里都是个头疼的问题,比如 Java 里让人头疼的 NullPointerException,为了避免猝不及防的空指针异常,千百年来程序猿们不得不在代码里小心翼翼的各种 if 判 ...
- mybatis框架学习第一天
三层架构: 表现层:用于展示数据 业务层:处理业务需求 持久层:和数据库交互的 3.持久层技术解决方案: JDBC技术: Connecction PreparedStatement ResultSet ...