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

Linux基本操作 7----- vi操作的详细信息


1 vi 编辑器的光标移动和翻页操作

1 光标移动

h 向左移动光标

l 向右移动光标

j 向上移动光标

k 向下移动光标

2 翻页操作

Ctrl+f 向前翻整页

Ctrl+b 向后翻整页

Ctrl+u 向前翻半页

Ctrl+d 向后翻半页


2 行内快速跳转

^ 将光标快速的移动到行首字符

$ 将光标快速的移动到行末字符

w 将光标快速跳转到当前光标所在位置的后一个单词的首字母

b 将光标快速跳转到当前光标所在位置的前一个单词的首字母

e 将光标快速跳转到当前光标所在位置的后一个单词的尾字母


3 文件内行间快速跳转

:set n u 在编辑器中显示行号

:set n on u 取消在编辑器中显示行号

1G/gg 快速跳转到第一行

G 快速跳转到文件的末尾行

xG 快速跳转到文件的第x行


4 输入模式的一些操作

i 在当前光标处插入状态

a 在当前光标后插入状态

A 在光标移动到当前行的行末,并进入插入模式

o 在当前行的下面插入新行,光标移动到新行的行首,进入插入状态

O 在当前行的上面插入插入新行,光标移动到新行的行首,进入插入状态

cw 删除当前光标到所在单词尾部的字符,并进入插入状态

c$ 删除当前光标到行尾的字符,并进入插入状态

c^ 删除当前光标到行首的字符,并进入插入状态


5 删除操作

x 删除光标所在的单个字符

dd 删除光标所在的行

dw 删除当前字符到单词尾(包括空格)的所有字符

de 删除当前字符到单词尾(不包括单词尾部的空格)的所有字符

d$ 删除当前字符到行尾的所有字符

d^ 删除当前字符到行末的所有字符

J 删除光标所在行的行尾的换行符,相当于合并当前行和下一行的内容


6 撤销操作

u 取消最近一次的操作,并恢复操作结果,可以使用多次的u命令来恢复已经进行的多步操作

U 取消对当前行的所有操作

Ctrl+r 对使用u命令撤销的操作进行恢复


7 复制和粘帖操作

yy 复制当前行整行的内容到vi缓冲区

yw 复制当前光标到单词尾字符的内容到vi缓冲区

y$ 复制当前光标到行尾的内容到vi缓冲区

y^ 复制当前光标到行首的内容到vi缓冲区

p 读取vi缓冲区的内容,并粘帖到光标当前的位置


8 字符串查找功能

/word 从上而下在文件中查找字符串word

?word 从下而上在文件中查找字符串word

n 定位下一个被匹配的查找字符串

N 定位上一个被匹配的查找字符串


9 字符串替换功能

:s/str1/str2/ 将当前行中查找到第一个str1字符串替换成str2

:s/str1/str2/g 将当前行中查找到的所有的str1字符串替换成str2

:x,ys/str1/str2/g 将x到y范围的所有str1字符串替换为str2

:%s/str1/str2/g 将整个文件的str1字符串替换尾str2

:s/str1/str2/c 在当前行中查找到第一个str1字符串替换成str2,并询问(用的少)



相关文章:

  • 基准电压——Reference voltage
  • linux下alias命令
  • 黑马程序员_properties,打印流,合并流,分割流
  • 软件架构师的12项修炼_读书纪要_P3商务技能修炼
  • 内存对齐规则
  • 【Deep Learning学习笔记】Deep learning for nlp without magic_Bengio_ppt_acl2012
  • 不用外部JAR包,自己实现JSP文件上传!
  • 计算机技术不是吓唬大众的工具!
  • Windows程序设计学习笔记--第一个Windows程序以及宽字符集(了解)
  • 云计算和大数据入门
  • Windows Azure使用必读
  • Windows Azure新功能:Hadoop和Web版的移动服务
  • 云计算的理解
  • 微软云存储SkyDrive API:将你的数据连接到任何应用、任何平台,及任何设备上...
  • 在 Windows Azure 上部署预配置 Oracle VM
  • 4个实用的微服务测试策略
  • Go 语言编译器的 //go: 详解
  • javascript面向对象之创建对象
  • JSONP原理
  • Js基础知识(一) - 变量
  • KMP算法及优化
  • tweak 支持第三方库
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • 阿里云购买磁盘后挂载
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 实习面试笔记
  • 手机端车牌号码键盘的vue组件
  • 在weex里面使用chart图表
  • ​2021半年盘点,不想你错过的重磅新书
  • ​configparser --- 配置文件解析器​
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • #在 README.md 中生成项目目录结构
  • (function(){})()的分步解析
  • (第二周)效能测试
  • (二)斐波那契Fabonacci函数
  • (三)终结任务
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • .NET delegate 委托 、 Event 事件,接口回调
  • .NET NPOI导出Excel详解
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .NET/C# 编译期间能确定的相同字符串,在运行期间是相同的实例
  • .Net8 Blazor 尝鲜
  • .Net中的设计模式——Factory Method模式
  • @Autowired注解的实现原理
  • @基于大模型的旅游路线推荐方案
  • [ CTF ] WriteUp-2022年春秋杯网络安全联赛-冬季赛
  • [ vulhub漏洞复现篇 ] Apache APISIX 默认密钥漏洞 CVE-2020-13945
  • [Android Pro] listView和GridView的item设置的高度和宽度不起作用
  • [Android Pro] Notification的使用
  • [Android]RecyclerView添加HeaderView出现宽度问题