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如何查看服务 ...
随机推荐
- NoSql非关系型数据库之MongoDB应用(一):安装MongoDB服务
业精于勤,荒于嬉:行成于思,毁于随. 一.MongoDB服务下载安装(windows环境安装) 1.进入官网:https://www.mongodb.com/,点击右上角的 Try Free , 2 ...
- UVA 10887 set或hash
题意: 给出n个A串和m个B串,将这A串与B串连接(B接在A后面)可以生成n*m个AB串,求不同的AB串的数量 分析: set直接水过 #include <bits/stdc++.h> u ...
- Linux(CentOS)下安装docker
Linux(CentOS)安装Docker 查看当前内核版本 [docker@localhost ~]$ uname -r 确保yum包更新到最新 [docker@localhost ~]$ sudo ...
- Go:go程序报错Cannot run program "C:\Users\dell\AppData\Local\Temp\___go_build_hello_go.exe" (in directory "…………"):该版本的 %1 与你运行的 Windows 版本不兼容。
问题截图 在go语言编译的时候,如果只是单单编译一个文件的话,package必须是main,意味着是可以单独编译的. 解决办法 修改为 package main 就可以 再次运行就可以啦. 文章转载至 ...
- 26 bash shell中的信号
当没有任何捕获时,一个交互式 Bash Shell 会忽略 SIGTERM(发送到进程的 TERM 信号用于要求进程终止) 和 SIGQUIT(当用户要求进程执行 core dump 时,QUIT 信 ...
- 数据库表的自增ID createDate和updateDate 用JPA注解代替触发器实现
对于数据库表的自增ID , createDate和updateDate 等字段,用JPA注解代替触发器实现,效率会高很多. 由于这些属性很多entity都有 可以写成两个基本entity :BaseE ...
- XCTF simple-unpacked
一.查壳 是UPX的壳,拖入IDA,发现很多函数无法反编译也无法查看 二.骚操作 将那个文件放入记事本,ctrl+F搜索flag. 找到了. 实际上,是需要专门的UPX脱壳工具或者手工来脱壳的,我目前 ...
- fastposter发布1.4.2 跨语言的海报生成器
fastposter发布1.4.2 跨语言的海报生成器 fastposter发布1.4.2 跨语言的海报生成器,一分钟完成海报开发 future: 完善docker镜像 引入异步asyncio 升级p ...
- vue(18)路由懒加载
什么是路由懒加载 官方的解释: 当打包构建应用时,JavaScript 包会变得非常大,影响页面加载. 如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更 ...
- python 最大公约数 最小公倍数
def gongyueshu(m,n): if m<n: m,n=n,m elif m==n: return m if m/n==int(m/n): return n else: for i i ...