当前位置: 首页 > news >正文

Linux-VI和VIM

目录

VI的使用

VI的三种模式

进入VI

切换至插入模式(Insert mode)编辑文件 

Insert 的切换 

退出VI及保存文件 

搜索

快捷删除

光标定位到最后一行

VIM查找字符串

全匹配

模糊匹配(正则表达式)

快速查找​​​​​​​


VI的使用

VI的三种模式

命令行模式(command mode): 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。 
插入模式(Insert mode):只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。 
底行模式(last line mode):将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。 
不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。 
 

进入VI

在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:

$ vi myfile 

进入vi之后,是处于「命令行模式(command mode)」,要切换到「插入模式(Insert mode)」才能够输入文字。

切换至插入模式(Insert mode)编辑文件 

在「命令行模式(command mode)」下按一下字母“i”就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。 

也可以点击字母“o”,表示进入插入模式,且另起一行。


Insert 的切换 

目前处于「插入模式(Insert mode)」,按一下「ESC」键可以转到「命令行模式(command mode)」。 


退出VI及保存文件 

在「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」,例如: 
: w filename (输入 「w filename」将文章以指定的文件名filename保存) 
: wq (输入「wq」,存盘并退出vi) 
: q! (输入q!, 不存盘强制退出vi) 

搜索

/检索词

大小写敏感

快捷删除

在命令行模式下

比如要删除两行,则按下2dd

比如要删除三行,则按下3dd

光标定位到最后一行

按下shfit+g

VIM查找字符串

全匹配

从上往下查找,比如“string” :   /string

从下往上查找,比如“string” : ?string  

模糊匹配(正则表达式)

. :通配1个字符 ,如匹配 server, 可以用  /se...r

* :通配多个字符,如匹配 privilege,可以用 p*ge

快速查找

Shift + * :让光标停留在想要查找的单词的任意一个字母上面, 然后输入 Shift + * ,即可快速选中该单词,并且通过 n  或  N 进行上一个或下一个的匹配。
yw :让光标停留在单词的第一个字母上, 然后输入yw拷贝该单词, 然后输入 / (Ctrl + R) 0 (即 /”0),回车, 就查找到了第一个匹配的单词, 并且通过 n  或  N 进行上一个或下一个的匹配。

http://www.lryc.cn/news/173957.html

相关文章:

  • 【送书】实现可观测性平台的技术要点是什么?
  • AUTOSAR汽车电子嵌入式编程精讲300篇-车载网络 CAN 总线报文异常检测
  • 基于MUSIC算法的二维超声波成像matlab仿真
  • Linux0.11——第三回 做好访问内存的最基础准备工作
  • unity自己对象池的使用
  • el-image 和 el-table冲突层级冲突问题
  • 6年Android开发前10月的总结,写给正在求职的安卓开发
  • ConcurrentHashMap 的并发度是什么?
  • Redis 面霸篇:从高频问题透视核心原理
  • 【100天精通Python】Day69:Python可视化_实战:导航定位中预测轨迹和实际轨迹的3D动画,示例+代码
  • MySQL中对varchar类型的列进行统计分析
  • mysql索引最左前缀法则、使用场景
  • LeetCode75-06:移动零
  • C/C++统计满足条件的4位数个数 2023年5月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析
  • python+nodejs+php+springboot+vue 校园安全车辆人员出入安全管理系统
  • 针对discuz3.2的渗透测试
  • python的中秋之美
  • ClickHouse与Elasticsearch比较总结
  • 辅助驾驶功能开发-功能对标篇(12)-NOA领航辅助系统-合众
  • Vue项目中使用element-plus的el-table组件-组件使用-样式修改
  • JavaBean字符串训练(支票大写)
  • Java 核心技术卷 I —— 第2章 Java 编程环境
  • 外汇天眼:英国FCA引入新规定,强化金融广告审核标准!
  • 【python】Seaborn画热力图,只显示第一行数字---seaborn与matplotlib版本问题
  • VMware CentOS7 Docker入门
  • C++ Primer 第5章 语句
  • 【C++】bitset位图的简单模拟实现及常见面试题
  • 十六、MySql的MVCC机制CONNECT(收官!)
  • 194、SpringBoot -- 下载和安装 Erlang 、 RabbitMQ
  • Linux0.11——第二回 从0x7c00到0x90000