运维必会 掌握 Vim:从入门到精通

news2024/9/20 5:27:06

前言

Vim 是一个强大的文本编辑器,以其高效的编辑操作和强大的可定制性著称。无论你是编程新手还是经验丰富的开发者,Vim 都能帮助你提高工作效率。本文将带你深入了解 Vim,从基本操作到高级配置,逐步掌握。

一、基本操作 

1. 模式切换

Vim 有三种主要模式:普通模式(Normal Mode)、插入模式(Insert Mode)和命令模式(Command Mode)

  • 普通模式:默认进入的模式,用于导航和编辑。
  • 插入模式:按 i 键进入,用于插入文本,按 Esc 键返回普通模式。
  • 命令模式:在普通模式下按 Shift + : 键进入,用于执行各种命令,如保存、退出等。

 2. 基本命令

  • 保存文件:w
  • 退出 Vim:q
  • 保存并退出:wq:x
  • 强制退出:q!
  • 移动光标h(左),j(下),k(上),l(右)

3. 编辑操作 

  • 删除字符x
  • 删除行dd
  • 复制行yy
  • 粘贴p
  • 撤销u
  • 重做Ctrl + r

二、普通模式基本实操

 1、 打开文件进入普通模式

#vim 打开test用的文本
[root@njhh ~]# cd /root/test/
[root@njhh test]# ll
总用量 0
[root@njhh test]# vim log.test
Lorem ipsum dolor sit amet. Quo expedita tenetur sit cumque consequuntur 33 illum autem ab nobis ipsa est aliquam provident non blanditiis laborum qui corporis omnis. Et quaerat veniam ut beatae quia et odio
Quis ad rerum quisquam non accusamus possimus qui repudiandae velit At galisum pariatur. Ut omnis consequatur non fugiat quis et aspernatur minima et aspernatur harum quo totam internos? Qui quia assumenda au
t blanditiis deleniti ut aspernatur facilis et autem autem ea pariatur quis aut incidunt rerum aut sequi molestiae? At tempora enim qui dolorem quibusdam et quia beatae et omnis nihil. Ab exercitationem dolore
m et repellat nostrum aut esse cupiditate rem quaerat magnam vel commodi rerum in error quibusdam. Aut error libero vel reprehenderit quam ut odio assumenda ut ducimus voluptatem et quidem perferendis nam cupi
ditate magnam. Est internos quaerat ex nisi omnis sed optio quasi ex dolore commodi At sequi laborum et dicta iure? Ab saepe quam ut omnis veritatis ab temporibus obcaecati ut optio cumque a saepe maxime. Aut
saepe voluptatem eum incidunt iure sit sint quas id dolores autem sit modi accusantium et adipisci similique. Ut voluptas ipsum sed ipsum nihil et dicta odit vel repudiandae dolores qui dignissimos consequatur
est iusto saepe. Qui adipisci laudantium sed nostrum alias et mollitia suscipit ut provident omnis et provident internos ut reprehenderit nisi? Rem doloribus quam quo dolores voluptas quo Quis omnis est maiores
beatae ea omnis iure vel sunt quas. Non sint esse est eligendi quod eos voluptate aliquid qui omnis ipsa ad accusantium rerum ut molestias sint. </p><p>Qui veritatis maiores et doloribus similique et sunt quae
ut numquam consectetur. Eum voluptas possimus non consequuntur dignissimos et quos necessitatibus sed molestiae repellendus est minima illum et tempora culpa aut dicta velit. Non ducimus sunt et quia laudantium
id iusto odit cum dolore quasi sit maiores illo! Non consequuntur modi et architecto odit et laboriosam repellendus! Et odit similique est voluptas quas est nulla praesentium! Et dolorem libero aut quae explicab
o sed natus doloremque eum itaque repudiandae est dolorem ipsum id nobis cumque. Non eligendi corporis et atque aperiam ad autem sapiente. Ex quos dignissimos ea rerum asperiores et error velit et voluptas dolor

2、 普通模式查找或定位数据

        1、在进入普通模式键盘输入俩次大写的  “GG”,可直接定位到文件的最后一行

        2、同理在输入俩次小写的 "gg",可以直接进入文件的首行 (不好截图,自行测试)

         3、在文件通过关键字查找,快速定位文件,输入 / 跟随想查找的文件关键字,比如截图 /optio,还可以配合 n 查找到下一个,光标会一直查找下去

        4、/是从上往下,?optio 是从下往上依次查找

 

三、插入模式基本实操

  1、插入的方式使用

这里介绍俩种方式,分别是 i 和 o,i是在光标前插入,当然你可以控制光标移动,o是在下一行插入 

 i 在光标前插入内容

o 在下一行插入内容

 

 最后保存退出

2、复制(我自己认为复制等于同于插入)插入的快捷使用

在vim里面复制命令时yy ,yy是单行复制,3yy,4yy,5yy,是多行复制,p是粘贴,默认就是粘贴到下一行

 

yy复制

p

我连续按5次p,就一直粘贴

工作中还有一种情况是,需要复制多行数据,然后再粘贴可以提高工作效率 

 我的光标是复制的起点位置,算是光标的一行和下面的5行,一共6行我都复制,输入6yy

 

会提示给你,工作中就把复制的内容,p粘贴到你需要的位置

 

四、命令模式基本使用

命令,模式常用到的就是  :set nu   :set paste  + 插入命令

 1、Shift +:set nu (查看每一行)

2、set paste 

还有一种粘贴方式是,你从其它网站或者其它文件用鼠标复制的内容,需要粘贴到文件内,你直接粘贴会不齐,可以通过:set paste + i ,可以理解为直接粘贴,复制的是什么就是什么

  输入 Shift +:set paste

输入  i

  

五、其它实用命令

1、撤回命令u

添加了一些内容发现多余了,可通过u退回,u命令可以一直撤回,撤回到你刚进入文件的原始状态

 u

 

 2、删除命令dd

删除命令和复制时一样的,你dd默认是一行,2dd是俩行。。。自测测试就好

 

 还有一种是shift +v,通过上下按键多选,可以yy,可以dd

 

 

 

6、结束语

希望这篇文章能帮助你更好地理解和使用 Vim,相关的命令好有很多,这些都是工作基本会用到的,文章也是口水话的概况,还是需要实践,孰能生巧很简单的东西,希望这篇博客文章对你有帮助!如果你有任何问题或需要进一步的指导,请随时告诉我。 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1906052.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电力设备巡检管理系统

电力设备巡检管理系统是一种基于计算机技术和网络通信技术的智能化管理系统&#xff0c;旨在提高电力设备巡检的效率、准确性和安全性。以下是对该系统的详细介绍&#xff1a; 一、系统概述 电力设备巡检管理系统通过实时采集、传输和分析电力设备的数据&#xff0c;帮助电力企…

项目方案:社会视频资源整合接入汇聚系统解决方案(九)-视频监控汇聚应用案例

目录 一、概述 1.1 应用背景 1.2 总体目标 1.3 设计原则 1.4 设计依据 1.5 术语解释 二、需求分析 2.1 政策分析 2.2 业务分析 2.3 系统需求 三、系统总体设计 3.1设计思路 3.2总体架构 3.3联网技术要求 四、视频整合及汇聚接入 4.1设计概述 4.2社会视频资源分…

Docassemble interview 未授权任意文件读取漏洞复现(CVE-2024-27292)

0x01 产品简介 Docassemble是一款强大的开源工具,主要用于自动化生成和定制复杂文档,特别是在法律文档处理领域表现出色。由Jonathan Pyle个人开发者开发,是一个免费的开源专家系统,用于指导访谈和文档组装。Docassemble基于Python编写,充分利用了Python的灵活性和广泛的…

【无标题】地平线2西之绝境/Horizon Forbidden West™ Complete Edition(更新:V1.3.57)

游戏介绍 与埃洛伊同行&#xff0c;在危险壮美的边疆之地揭开种种未知的神秘威胁。此完整版可完整享受广受好评的《地平线 西之绝境™》内容和额外内容&#xff0c;包括在主线游戏后展开的后续故事“炙炎海岸”。 重返《地平线》中遥远未来的后末日世界&#xff0c;探索远方的土…

解密智慧校园基础数据的学年管理功能

在智慧校园平台中&#xff0c;学年管理模块构成了教育活动有序运行的基石&#xff0c;它精心设计来适应多样化的学术日程&#xff0c;确保学校的各项事务都能在清晰规划的学年框架内顺利推进。这一核心功能不仅关乎时间的界定&#xff0c;更深层次地融入了教育管理的每一个细微…

记录在Windows上安装Docker

在Windows上安装Docker时&#xff0c;可以选择使用不同的后端。 其中两个常见的选择是&#xff1a;WSL 2&#xff08;Windows Subsystem for Linux 2&#xff09;和 Hyper-V 后端。此外&#xff0c;还可以选择使用Windows容器。 三者的区别了解即可&#xff0c;推荐用WSL 2&…

一、redis-万字长文读懂redis

高性能分布式缓存Redis `第一篇章`1.1缓存发展史&缓存分类1.1.1 大型网站中缓存的使用带来的问题1.1.2 常见缓存的分类及对比与memcache对比1.2 数据类型选择&应用场景1.2.1 string1.2.2 hash1.2.3 链表1.2.4 set1.2.5 sortedset有序集合类型1.2.6 总结1.3 Redis高级应…

AI集成工具平台一站式体验,零门槛使用国内外主流大模型

目录 0 写在前面1 AI艺术大师1.1 绘画制图1.2 智能作曲 2 AI科研助理2.1 学术搜索2.2 自动代码 3 AI智能对话3.1 聊天机器人3.2 模型竞技场 4 特别福利 0 写在前面 人工智能大模型浪潮滚滚&#xff0c;正推动着千行百业的数智化进程。随着技术演进&#xff0c;2024年被视为是大…

『C++成长记』string模拟实现

&#x1f525;博客主页&#xff1a;小王又困了 &#x1f4da;系列专栏&#xff1a;C &#x1f31f;人之为学&#xff0c;不日近则日退 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ ​ 目录 一、存储结构 二、默认成员函数 &#x1f4d2;2.1构造函数 &#x1f4d2;2.…

C语言调试技巧

叠甲&#xff1a;以下文章主要是依靠我的实际编码学习中总结出来的经验之谈&#xff0c;求逻辑自洽&#xff0c;不能百分百保证正确&#xff0c;有错误、未定义、不合适的内容请尽情指出&#xff01; 文章目录 1.bug 是什么2.debug 是什么3.两种模式的区别4.IDE 调试介绍4.1.模…

满足信创环境运行的国产FTP服务器是什么样的?

2018 年以来&#xff0c;受“华为、中兴事件”影响&#xff0c;我国科技尤其是上游核心技术受制于人的现状对我 国经济发展提出了严峻考验。在全球产业从工业经济向数字经济升级的关键时期&#xff0c;中国明确 “数字中国”建设战略&#xff0c; 抢占数字经济产业链制高点。 在…

RK3588编译rkmpp,拉取海康威视网络摄像头264码流并运行yolo

硬件&#xff1a;EVB评估版 SOC&#xff1a;Rockchip RK3588 背景&#xff1a; 由于项目需要&#xff0c;需要拉取264码流&#xff0c;并通过将yolov5s.pt将模型转化为rknn模型&#xff0c;获取模型分析结果。取流可以通过软件解码或者硬件解码&#xff0c;硬件解码速度更快&…

tesseract-ocr 字库训练(提高识别率进阶版)

github字库地址&#xff1a;https://github.com/tesseract-ocr/tessdata 一、tesseract-ocr字库训练 1、配置 jdk 环境变量 步骤&#xff08;略&#xff09; 2、安装 tesseract-ocr 并配置环境变量 下载地址&#xff1a;https://digi.bib.uni-mannheim.de/tesseract/ 配置环境…

无人机群辅助边缘计算系统的任务卸载和资源分配联合优化

源自&#xff1a;系统工程与电子技术 作者&#xff1a;刘世豪 黄仰超 胡航 司江勃 韩蕙竹 安琪 注&#xff1a;若出现无法显示完全的情况&#xff0c;可 V 搜索“人工智能技术与咨询”查看完整文章 摘 要 为提升无人机群辅助边缘计算系统在负载不均衡场景下的性能, 构…

红黑树模拟实现

概念 红黑树&#xff0c;是一种二叉搜索树&#xff0c;但在每个结点上增加一个存储位表示结点的颜色&#xff0c;可以是Red或Black。通过对任何一条从根到叶子的路径上各个结点着色方式的限制&#xff0c;红黑树确保没有一条路径会比其他路径长出俩倍&#xff0c;因而是接近平衡…

使用GZip对npm run build打包的vendor.js文件进行压缩

vue-cli项目 安装npm i compression-webpack-plugin -D npm i compression-webpack-plugin -D使用&#xff1a;在vue.config.js文件中 const CompressionPlugin require(compression-webpack-plugin) module.exports {configureWebpack: {plugins: [new CompressionPlugin…

html+css+js贪吃蛇游戏

贪吃蛇游戏&#x1f579;四个按钮控制方向&#x1f3ae; 源代码在图片后面 点赞❤️关注&#x1f64f;收藏⭐️ 互粉必回&#x1f64f;&#x1f64f;&#x1f60d;&#x1f60d;&#x1f60d; 源代码&#x1f4df; <!DOCTYPE html> <html lang"en"&…

【2024最新】Arduino通过Python进行串口通信控制电机

1. 背景 最近想研究一下用 Python 控制 Arduino 的技术&#xff0c;通过上网查询&#xff0c;发现可以用 Python 中的 serial 库来实现和 Arduino 主板的串口通信&#xff0c;从而控制 Arduino。 特此记录一下这个小项目的过程及出现的问题。 2. 基础准备 主板&#xff1a;…

中仕公考:“三支一扶”岗位分别做什么工作?

“三支一扶”计划旨在招募应届毕业生或近两年内毕业的毕业生&#xff0c;部分省份还考虑技工院校高级工班、预备技师班毕业生。在湖北省&#xff0c;报考支医岗位不限制毕业年限&#xff0c;安徽和云南等省对支医类岗位取消了开考比例要求。为解决招人留人难题&#xff0c;艰苦…

毛绒玩具音乐芯片:OTP语音芯片WTN6040方案解析

随着科技的不断发展&#xff0c;智能化和互动性已经成为玩具设计中的关键因素。在毛绒玩具市场中&#xff0c;集成音乐播放功能的毛绒玩具因其趣味性和互动性而备受欢迎。本文将详细介绍OTP&#xff08;One Time Programmable&#xff09;语音芯片WTN6040在毛绒玩具音乐芯片中的…