轻松入门Linux—CentOS,直接拿捏 —/— <6>vim集合

news2025/1/15 19:50:07

一、Vim操作详解

1、linux彩蛋

输入命令python会启动Python解释器,允许你输入和执行Python代码。然后,输入import this会导入this模块,它是Python的一种彩蛋(Easter egg),然后得到下列结果

选中这段结果复制,输入命令quit()退出python解释器,再次输入命令vim this.txt,创建一个文件并打开编辑模式。按下快捷键i再讲刚刚复制的文本粘贴进去。

2、快捷键 i

        在Vim中,按下键盘上的i键会进入插入模式(Insert mode)。在插入模式下,你可以直接输入文本,就像在普通的文本编辑器中一样。你可以在光标当前位置插入、编辑文本。

        一旦进入插入模式,你可以使用一系列的按键来插入、删除、修改文本,包括常规的字母、数字键以及其他特殊的插入模式命令。要退出插入模式,你可以按下Esc键,返回到正常模式。

3、快捷键 o

        在Vim中,按下键盘上的o键会在当前光标所在行的下方插入一个新行,并将插入模式切换到新插入的行上(Insert mode)。这个操作类似于在当前行下方插入一个空白行,然后将光标移动到新插入的行上,准备进行编辑。  

4、Vim 查找文本

        在命令模式下输入英文状态的下的/(在vim中点击ESC后输入/)

4.1 输入 /a 得到以下结果

即文本内所有的a字符串都被标记出来

4.2 输出 /^If 则标记出所有以If开头的行

4.3 输入/it.$标记结尾是it.的字符串

5、替换文本

5.1 快捷键r

        在命令模式下点击 r 替换光标对应的单字符

5.2 快捷键R

        在命令模式下点击 R 替换光标开始后面的所有字符

5.3 输入:s/b/c/g

        命令模式下输入:s/b/c/g,将光标所在行中的所有b用c替换

5.4 输入:%s/a1/a2/g 

        命令模式下将文件中所有的a1替换成a2

二、Vim移动光标快捷键

1、快捷键 h

        在esc模式中点击h键,光标向左移动一位

2、快捷键 j

        在esc模式中点击j键,光标向下移动一位

3、快捷键 k

        在esc模式中点击k键,光标向上移动一位

4、快捷键l

        在esc模式中点击l键,光标向右移动一位

5、以单词为单位移动

5.1 快捷键w/W 

在esc模式下点击w/W,光标移动到下一个单词的首部

5.2 快捷键 b/B

在esc模式下点击b/B,光标移动到上一个单词的单词首

5.3 快捷键 e/E

在esc模式下点击e/E,光标移动到下一个单词的单词尾

5.4 快捷键nw/nW(n为一个数字) 

在esc模式下点击数字后再点击w/W,光标右移n个单词

5.5 快捷键 nb/nB(n为一个数字)

在esc模式下点击数字后再点击b/B,光标向左移动n个单词

5.6 快捷键0/^

光标移动到当前行的行首

5.7 快捷键$

光标移动到当前行的行尾

5.8 快捷键n$(n为一个数字)

点击数字后再点击$符,光标移动到当前光标位置的后面n行行尾,当前所在为第一行

5.9 快捷键fx/Fx(x为指定字符)

点击f后输入指定的单字符,光标移动到当前行的下一个x单字符处

5.10 快捷键gg

光标移动到文件开头

5.11 快捷键G

光标一定到文件末尾

5.12 快捷键nG(n为数字)

光标移动到第n行

5.13 快捷键 :n(n为数字)

编辑模式下使用,将光标自定义到指定n行行首

6、撤销和恢复

        使用 Vim 编辑文件内容时,经常会有如下 2 种需求:

         对文件内容做了修改之后,却发现整个修改过程是错误或者没有必要的,想将文件恢复到修改之前的样子。

        将文件内容恢复之后,经过仔细考虑,又感觉还是刚才修改过的内容更好,想撤销之前做的恢复操作。

6.1 u(小写)

esc模式下,撤销最近一次对文本做的修改操作

6.2 U(大小)

esc模式下,第一次会撤销光标所在行的文本所做的全部操作,第二次会回复对该行文本做的所有操作

7、Vim批量注释和自定义注释

        使用 Vim 编辑 Shell 脚本,在进行调试时,需要进行多行的注释,每次都要先切换到输入模式,在行首输入注释符"#"再退回命令模式,非常麻烦。

        连续行的注释其实可以用替换命令来完成。换句话说,在指定范围行加"#"注释,可以使用 ":起始行,终止行 s/^/#/g"

例如 :1,10s/^/#/g

        表示在第 1~10 行行首加"#"注释。"^"意为行首;"g"表示执行替换时不询问确认。如果希望每行交互询问是否执行,则可将 "g" 改为 "c"

        取消连续行注释,则可以使用 ":起始行,终止行s/^#//g",

        例如::1,10s/^#//g

        意为将1-10行行首的"#"替换为空,即删除。        

8、设置行号

       1、显示行号:set nu
        2、不显示行号 :set nonu
        3、永久设置显示行号

分别输入以下命令即可:

cd ~

vim .vimrc 回车后输入set nu然后保存退出即可

        

        

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

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

相关文章

Nacos安装教程(全网最靠谱,最简单~)

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 本文将详细介绍 Nacos 的安装及使用。 官方网址:Nacos官网| Nacos 配置中心 | Nacos 下载| Nacos 官方…

3.7.物体检测算法

物体检测算法 1.R-CNN ​ 首先使用启发式搜索算法来选择锚框,使用预训练模型对每个锚框抽取特征,训练一个SVM来对类别分类,最后训练一个线性回归模型来预测边缘框偏移。 ​ R-CNN比较早,所以使用的是SVM 1.1 兴趣区域(RoI)池化…

【Qwen2微调实战】LLaMA-Factory框架对Qwen2-7B模型的微调实践

系列篇章💥 No.文章1【Qwen部署实战】探索Qwen-7B-Chat:阿里云大型语言模型的对话实践2【Qwen2部署实战】Qwen2初体验:用Transformers打造智能聊天机器人3【Qwen2部署实战】探索Qwen2-7B:通过FastApi框架实现API的部署与调用4【Q…

【数据结构进阶】手撕红黑树

🔥个人主页: Forcible Bug Maker 🔥专栏: C || 数据结构 目录 🌈前言🔥红黑树的概念🔥手撕红黑树红黑树结点的定义红黑树主体需要实现的成员函数红黑树的插入findEmpty和Size拷贝构造析构函数和…

CANFD报文 位时间 理解

🍅 我是蚂蚁小兵,专注于车载诊断领域,尤其擅长于对CANoe工具的使用🍅 寻找组织 ,答疑解惑,摸鱼聊天,博客源码,点击加入👉【相亲相爱一家人】🍅 玩转CANoe&…

PCB设计——51单片机核心板布线以及原理图

首先是最小系统板,包括晶振电路,电源电路,复位电路 对应pcb板图

HTTP协议:网络通信的基石

一、引言 HTTP(HyperText Transfer Protocol),即超文本传输协议,是当今互联网世界中最为重要的协议之一。它是客户端和服务器之间进行通信的规则和标准,使得我们能够在浏览器中浏览网页、下载文件、提交表单等各种操作…

AT32F403A/421 SVPWM驱动无刷电机开环速度测试

AT32F403A/421 SVPWM驱动无刷电机开环速度测试 📌相关篇《HAL STM32F4 ARM DSP库跑SVPWM开环速度测试》 ✨本测试工程基于上面的运行例程移植而来。主要用来测试驱动无刷电机性能方面的差异。 🔖工程基于AT32_Work_Bench创建。 🔰AT32F403A和…

卷积神经网络随记

1.问题描述:一般而言,几个小滤波器卷积层的组合比一个大滤波器卷积层要好,比如层层堆叠了3个3x3的卷积层,中间含有非线性激活层,在这种排列下面,第一个卷积层中每个神经元对输入数据的感受野是3x3&#xff…

Verilog语言和C语言的本质不同点是什么?

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「c语言的资料从专业入门到高级教程」,点个关注在评论区回复“666”之后私信回复“666”,全部无偿共享给大家!!! 在c语言中,如果你…

7.Redis的Hash类型

Hash类型,也叫散列,其value是一个无序字典,类似于HashMap结构。 问题 String结构是将对象序列化为json字符串后存储,当需要修改对象某个字段是不是很方便。 key value…

【计算机遥感方向】SCI期刊推荐!水刊、顶刊齐聚在此,速投!

本期将为您带来五本计算机SCI 妥妥毕业神刊! IEEE TRANSACTIONS ON GEOSCIENCE AND REMOTE SENSING International Journal of Applied Earth Observation and Geoinformation INTERNATIONAL JOURNAL OF REMOTE SENSING Geocarto International RADIO SCIEN…

蔚来智驾的大模型之路:自研芯片 + 世界模型 + 群体智能

作者 |德新 编辑 |王博 7月27日上周末,蔚来举办第二届NIO IN。 李斌说,2023年的第一届NIO IN像是一个大纲,第一次对外完整展示了蔚来布局的12大技术领域。 而这届,更像第一个交付的章节。它重点展示了5项阶段性的进展&#xff…

智能电池管理,soc、soh、comsol锂电池仿真

锂离子电池,作为能源转型与电动车市场崛起的基石,正迎来研发与应用的飞跃。面对繁杂设计参数与实验盲点,电池仿真技术,尤以COMSOL为代表的多物理场仿真,精准解析电池内部机理,从微观行为到宏观性能&#xf…

LoRA:大模型的轻量级高效微调方法

文章目录 1. 模型微调的两种方式2. LoRA 实现 LoRA是一种轻量化且效果非常突出的大模型微调方法,与使用Adam微调的GPT-3 175B相比,LoRA可以将可训练参数的数量减少10000倍,并将GPU内存需求减少3倍。 paper:LoRA: Low-Rank Adapta…

二维码门楼牌管理应用平台建设:流程优化与全面考量

文章目录 前言一、工作流程优化:移动端采集与实时更新二、数据完整性与准确性保障三、效率提升与成本节约四、扩展性与未来发展五、数据安全与隐私保护六、用户培训与技术支持 前言 随着智慧城市建设的不断深入,二维码门楼牌管理应用平台作为城市管理的…

电脑浏览器缓存怎么清除 Mac电脑如何清理浏览器缓存数据 macbookpro浏览器怎么清理

浏览器已经成为我们日常生活中不可或缺的工具。然而,随着时间的推移,浏览器缓存的积累可能会逐渐影响我们的上网体验,导致网页加载速度变慢、浏览器运行卡顿等问题。因此,定期清理浏览器缓存变得尤为重要。那么Mac怎么清除浏览器缓…

Springboot学习-day16

Springboot学习-day16 Springboot是spring家族中的一个全新框架,用来简化spring程序的创建和开发过程。在以往我们通过SpringMVCSpringMybatis框架进行开发的时候,我们需要配置web.xml,spring配置,mybatis配置,然后整…

layui+jsp框架下实现对pdf或图片预览功能

功能 对上传的文件实现预览功能&#xff0c;文件类型为图片或pdf。 效果展示 实现 引入 jQuery&#xff1a; <script src"https://code.jquery.com/jquery-3.5.1.min.js"></script>引入 Bootstrap 的 CSS 和 JavaScript&#xff1a; <link href&quo…

Java面试必看!知己知彼才能百战百胜,如何做好面试前的准备?

随着 Java 这个赛道的不断内卷&#xff0c;这两年&#xff0c;Java 程序员的面试&#xff0c;从原来的常规八股文&#xff08;有 标准答案&#xff09;到现在&#xff0c;以项目、场景问题、技术深度思考为主&#xff0c;逐步转变成没有标准答案&#xff0c; 需要大家基于自己的…