vi常用操作总结

2024-08-22 18:08
文章标签 总结 操作 常用 vi

本文主要是介绍vi常用操作总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

vi常用操作总结

linux系统下面如果熟练使用vi或者vim的一些常用操作,将会大大节省时间。

一、复制和粘贴

1、复制

复制一行:yy
复制两行:2yy,从当前光标+下一行;
复制当前光标所在的位置到行尾:y$
复制当前光标所在的位置到行首:y^

2、删除(剪切)

剪切一行:dd
前切三行:3dd,即从当前行+下两行被剪切了。
剪切当前行光标所在的位置到行尾:d$
剪切当前行光标所在的位置到行首:d^

3、粘贴

主要是配合前面的复制和剪切使用
复制一次:p,在当前光标后复制;
复制两次:2p

4、撤销与恢复

‘u’ : 撤销上一个编辑操作,可重复使用;
‘ctrl + r’ : 恢复,如果撤销过多,使用此命令恢复;

二、屏幕翻页

Ctrl+u: 向上翻半屏
Ctrl+f: 向上翻一屏
Ctrl+d: 向下翻半屏
Ctrl+b: 向下翻一屏

三、移动光标

大部分可以使用方向键代替,整理常用几个命令:

':34'(冒号+数字):移动到34行行首;
':0':移动到文本最前面;
':+$'(冒号+\$):移动到最后一行行首;
'$':移动到当前行行尾;
'0':移动到当前行行首;

四、插入

常用插入、删除指令如下:
i:在当前光标前插入,光标后文本向后移
a:从当前光标后插入,光标后文本后移
I:在光标所在行首插入(第一个非空白字符前)
A:从光标所在行末插入
o: 在光标所在行下面新增一行(并进入输入模式)
O: 在光标所在行上方新增一行(并进入输入模式)
x: 删除光标所在字符,等同于[Delete]功能键
X: 删除光标前字符,相当与[Backspace]

五、查找和替换

1、查找
/pattern \<Enter> :向下查找pattern匹配字符串 
?pattern \<Enter>:向上查找pattern匹配字符串 

使用了查找命令之后,使用如下两个键快速查找:
n:按照同一方向继续查找
N:按照反方向查找

pattern既可以使用正则表达式,也可以是特定的字符串,如果有特殊字符,使用’'进行转义,示例如下:
/^abc :查找以abc开始的行
/^abc :查找^abc字符串

2、替换
':s/vtest/test/' :替换当前行第一个vtest为test;
':s/vtest/test/g' :替换当前行所有vtest为test;
':n,ms/vtest/test/g' :替换从n行到m行所有vtest为test;
':%s/vtest/sky/g' :替换全文所有vtest为test;

如果替换的字符串里面出现’/’,可以使用#或者+作为分隔符:

:%s+/oradata/apras/+/user01/apras1+(使用+来替换/) :/oradata/apras/替换成/user01/apras1/

六、参考资料

https://blog.csdn.net/netdxy/article/details/50553543
https://www.cnblogs.com/longjshz/p/5775584.html

这篇关于vi常用操作总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1097006

相关文章

Go异常处理、泛型和文件操作实例代码

《Go异常处理、泛型和文件操作实例代码》Go语言的异常处理机制与传统的面向对象语言(如Java、C#)所使用的try-catch结构有所不同,它采用了自己独特的设计理念和方法,:本文主要介绍Go异... 目录一:异常处理常见的异常处理向上抛中断程序恢复程序二:泛型泛型函数泛型结构体泛型切片泛型 map三:文

MyBatis配置文件中最常用的设置

《MyBatis配置文件中最常用的设置》文章主要介绍了MyBatis配置的优化方法,包括引用外部的properties配置文件、配置外置以实现环境解耦、配置文件中最常用的6个核心设置以及三种常用的Ma... 目录MyBATis配置优化mybatis的配置中引用外部的propertis配置文件⚠️ 注意事项X

C# List.Sort四种重载总结

《C#List.Sort四种重载总结》本文详细分析了C#中List.Sort()方法的四种重载形式及其实现原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录1. Sort方法的四种重载2. 具体使用- List.Sort();- IComparable

SpringBoot项目整合Netty启动失败的常见错误总结

《SpringBoot项目整合Netty启动失败的常见错误总结》本文总结了SpringBoot集成Netty时常见的8类问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、端口冲突问题1. Tomcat与Netty端口冲突二、主线程被阻塞问题1. Netty启动阻

SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)

《SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)》本文总结了SpringBoot项目整合Kafka启动失败的常见错误,包括Kafka服务器连接问题、序列化配置错误、依赖配置问题、... 目录一、Kafka服务器连接问题1. Kafka服务器无法连接2. 开发环境与生产环境网络不通二、序

MySQL基本表查询操作汇总之单表查询+多表操作大全

《MySQL基本表查询操作汇总之单表查询+多表操作大全》本文全面介绍了MySQL单表查询与多表操作的关键技术,包括基本语法、高级查询、表别名使用、多表连接及子查询等,并提供了丰富的实例,感兴趣的朋友跟... 目录一、单表查询整合(一)通用模版展示(二)举例说明(三)注意事项(四)Mapper简单举例简单查询

Nginx概念、架构、配置与虚拟主机实战操作指南

《Nginx概念、架构、配置与虚拟主机实战操作指南》Nginx是一个高性能的HTTP服务器、反向代理服务器、负载均衡器和IMAP/POP3/SMTP代理服务器,它支持高并发连接,资源占用低,功能全面且... 目录Nginx 深度解析:概念、架构、配置与虚拟主机实战一、Nginx 的概念二、Nginx 的特点

一文详解Java常用包有哪些

《一文详解Java常用包有哪些》包是Java语言提供的一种确保类名唯一性的机制,是类的一种组织和管理方式、是一组功能相似或相关的类或接口的集合,:本文主要介绍Java常用包有哪些的相关资料,需要的... 目录Java.langjava.utiljava.netjava.iojava.testjava.sql

MySQL 数据库进阶之SQL 数据操作与子查询操作大全

《MySQL数据库进阶之SQL数据操作与子查询操作大全》本文详细介绍了SQL中的子查询、数据添加(INSERT)、数据修改(UPDATE)和数据删除(DELETE、TRUNCATE、DROP)操作... 目录一、子查询:嵌套在查询中的查询1.1 子查询的基本语法1.2 子查询的实战示例二、数据添加:INSE

Springmvc常用的注解代码示例

《Springmvc常用的注解代码示例》本文介绍了SpringMVC中常用的控制器和请求映射注解,包括@Controller、@RequestMapping等,以及请求参数绑定注解,如@Request... 目录一、控制器与请求映射注解二、请求参数绑定注解三、其他常用注解(扩展)四、注解使用注意事项一、控制