如何熟练使用vim工具?

news2024/9/24 22:48:49

在这里插入图片描述

🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨
🐻推荐专栏1: 🍔🍟🌯C语言初阶
🐻推荐专栏2: 🍔🍟🌯C语言进阶
🔑个人信条: 🌵知行合一
🍉本篇简介:>:讲解C++中的函数重载、引用、auto关键字、内联函数等.
金句分享:
✨生活本就沉默,但是跑起来有风!✨

前言

文末有彩蛋哦!

Vim是一款文本编辑器,是从Unix中的vi编辑器(visual editor)发展而来的。Vim可以在多种操作系统上运行,包括Unix、Linux、macOSWindows等。Vim主要用于编辑纯文本文件,支持语法高亮、多窗口编辑、标签页、插件等功能。对于程序员来说,Vim是一个非常强大的编辑器,可以提高编码效率。

目录

  • 前言
  • 一、vim的使用
    • (1) 模式介绍
    • (2) 打开vim
    • (3) 光标操作(在命令模式下)
      • 🍔上下左右移动
      • 🌰按单词左右移动
      • 🍭行首行尾
      • 🍉文章开头和结尾
      • 🔑按页和其他
    • (4) 删除
    • (5) 复制
    • (6) 替换
    • (7) 撤销与恢复:
  • 二、底行模式
    • 列出行号(底行模式下)
    • 跳转指定行(底行模式下)
    • 查找字符(串)
    • 保存文件(并退出)
  • 三、配置vim

一、vim的使用

(1) 模式介绍

Vim有不同的模式,每个模式都具有不同的功能和操作方式。下面是Vim的几种常见模式的介绍:

  1. 命令模式(Command Mode):这是Vim的默认模式,用户可以在该模式下输入命令来执行各种编辑操作,

  2. 插入模式(Insert Mode):在插入模式下,用户可以像在其他编辑器中一样直接输入文本。只有在Insert mode下,才可以做文字输入,该模式是我们用的最频繁的编辑模式。
    (1) 按"i"键即可进入插入模式
    (2) 按下"Esc"键可退出插入模式返回命令模式。

  3. 替换模式(Replace Mode):替换模式允许用户替换已有的文本。
    (1)按shift+r键即可进入替换模式,在该模式下,用户输入的字符将直接替换光标当前位置的字符.
    (2)按"Esc"键退出替换模式。

  4. 底行模式(Command-line Mode):底行模式允许用户执行一些高级的编辑和搜索操作。
    (1)按shift+;键即可进入底行模式,用户可以在该模式下输入各种命令,文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作等。
    (2) 按"Esc"键退出到命名模式.

这些模式的切换可以通过按下相应的快捷键来完成。Vim的模式使得用户可以灵活地进行文本编辑,提高编辑效率。熟练掌握这些模式及其相关操作是使用Vim的关键。

(2) 打开vim

一般情况下,vim都是自带的一款软件.

情况1 :
vim+文件名(文件未被创建)
底行模式按q:文件依旧没有被创建,退出vim.
底行模式按wq:文件被创建,并退出.

情况2:
vim+文件名(文件已被创建)

示例:打开vim
在这里插入图片描述

下图是进入vim以后的界面:
在这里插入图片描述

输入:i进入插入模式.

在这里插入图片描述
如果想退出,按Esc到命令模式,再shift+;到底行模式,输入wq(保存并退出).

(3) 光标操作(在命令模式下)

🍔上下左右移动

vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格
为啥是这四个键代表上下左右而不用光标键 .
因为,早期的键盘是没有光标键的。

🌰按单词左右移动

按键「w」:光标跳到下个单词的开头.
按「e」:光标跳到这个词的结尾.
按「b」:光标回到单词的开头.

在这里插入图片描述

🍭行首行尾

$ 」:移动到光标所在行的“行尾”
^」:移动到光标所在行的“行首”

🍉文章开头和结尾

gg]:进入到文本开始
shift+g]:进入文本末端

跳至指定的行
ctrl」+「g」列出光标所在行的行号。(底行模式下可以使用set nu列出行号)
nG」:表示移动光标至文章的n行行首。

🔑按页和其他

ctrl」+「b」:屏幕往“后”移动一页
ctrl」+「f」:屏幕往“前”移动一页
ctrl」+「u」:屏幕往“后”移动半页
ctrl」+「d」:屏幕往“前"移动半页

n+l」:光标移到该行的第n个位置,12l,移动到改行的12位置处.

(4) 删除

x」(小写):,删除光标所在位置的一个字符.
nx」:表示删除从光标所在位置开始往后n个字符.(包括光标所在字符).
X」(大写):删除光标所在位置的“前面”一个字符.
nX」:表示删除从光标所在位置开始的往前n个字符.(包括光标所在字符).
dd」:删除一行,删除光标所在行.
ndd」:从光标所在行开始删除n行.

(5) 复制

复制:
yw」:复制从光标处开始到单词的结尾的字符到缓存区.
nyw」:复制n个字到缓冲区
yy」:复制光标所在行到缓冲区。
nyy」:表示拷贝从光标所在的该行往后n行数据.
粘贴:
p」:将缓冲区内的字符贴到光标所在位置。
注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。

(6) 替换

r」:替换光标所在处的字符

进入替换模式,直接全部变成替换操作.
R」:替换光标所到之处的字符,直到按下「ESC」键为止。

(7) 撤销与恢复:

u」:撤销上一次操作可以按u键.

ctrl + r」: 恢复:撤销撤销操作.

二、底行模式

先按ESC键回退到命令行模式,再使用shift+:进入底行模式.

列出行号(底行模式下)

set nu」:会在文件中的每一行前面列出行号。

列出行号:
在这里插入图片描述
列出行号:
在这里插入图片描述
添加行号:

set nu

取消行号:

set nonu

跳转指定行(底行模式下)

n」: 表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了.

再回车,就会跳到第5行。

查找字符(串)

「/+查找字符(串)」:
示例:查找linux

指令:/linux
配合n进行搜索下一个符合条件的语句.

?+要查找的字符(串)」:
同样按n可以查找下一处符合条件的语句.

查找有和区别?
:默认是往下(后)搜索.,按n是往下(后)的下一处符合条件的语句.
?:默认是往上(前)搜索.,按n是往下(后)的下一处符合条件的语句.

保存文件(并退出)

保存:
w」: 将文件保存起来

退出vim:
「q」:退出vim
强制退出:有的时候某些文件不让修改后退出,可以使用q!进行强制退出.

通常我们wq配合使用,即输入wq指令进行保存并退出.

小知识:
可以在底行模式中执行外部的命令.编译啊等等,而不退出vim.
示例:如果想要使用ls命令.

  1. Vim编辑器中,按下冒号键(:)进入底行模式
  2. 输入!后面跟着你想要执行的外部指令。示例如果你要执行ls命令来列出当前目录的文件,可以输入!ls
  3. 按下回车键,Vim将会执行该外部指令并在底行显示输出结果。

三、配置vim

我们不难发现,相较于我们之前使用的VS,vim的使用极其不方便,没有语法提醒,也没有括号自动补齐等等功能.这就很难受了,我可适应不了.

为了能够方便我们更加方便的使用vim进行代码的编写,我们可以去配置vim,使其更加符合我们的需求.

在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。

在这里插入图片描述

配置自己用户的专属vim

在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。
我们进入自己的家目录:

方法1:

cd ~

方法2:

cd /home/cjn

创建vim的配置文件:touch .vimrc

在这里插入图片描述

使用vim.vimrc文件进行编写:vim .vimrc

下面是示例的一些配置:
在这里插入图片描述

配置成功后,保存并退出vim,后续再使用vim就会生效了.
在这里插入图片描述

其实上面的配置还是很挫的,毕竟配置这么点东西可不够,没有语法报错,自动补齐括号等等.
但是我们并不擅长去配置vim,所以我这里有一套已经配置好的vim,欢迎大家私信找我免费获取哦!

展示:
在这里插入图片描述

在这里插入图片描述

好了,本篇的内容就讲到这里了.
在这里插入图片描述

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

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

相关文章

宠物店管理系统服务预约会员小程序效果如何

很多人都会养宠物,随着生活品质提升,尤其以年轻人为主的消费者在宠物食品、医疗、购买消费等方面有较高的消费属性,而在线下也有大量从业者,互联网程度及智慧化门店提升及客户赋能,线下经营的同时还需要线上发展拓客引…

C/C++ 实现FTP文件上传下载

FTP(文件传输协议)是一种用于在网络上传输文件的标准协议。它属于因特网标准化的协议族之一,为文件的上传、下载和文件管理提供了一种标准化的方法,在Windows系统中操作FTP上传下载可以使用WinINet库,WinINet&#xff…

设计模式-创建型模式之工厂设计模式

文章目录 五、工厂方法六、抽象工厂 五、工厂方法 工厂方法,使用工厂可以像使用人员屏蔽对象创建的细节,使用者无需指定具体的类即可使用功能,达到信息隐蔽的作用,便于后期的维护,修改和扩展。 在看工厂方法前还有一…

低代码究竟有何特别之处?为什么很多企业倾向于用低代码开发软件?

目录 一、低代码是什么 二、低代码有哪些核心能力? 三、低代码能做哪些事情? 1、软件开发快效率高 2、满足企业的多样化需求 3、轻松与异构系统集成 4、软件维护成本低 5、为企业实现降本增效 四、结语 低代码平台正高速发展中,越来越多的企业…

Windows10找不到hosts文件的解决办法

正常情况下hosts文件在目录C:\Windows\System32\drivers\etc中,最近新装的Windows10系统发现该目录下没有hosts文件。 如下操作显示隐藏文件发现还是没有。 执行如下命令hosts文件出现: for /f %P in (dir %windir%\WinSxS\hosts /b /s) do copy %P …

时间序列异常检测14篇顶会论文合集,附必备工具和数据集

今天来聊聊一个在量化交易、网络安全检测、自动驾驶汽车和大型工业设备的日常维护等领域都有重要作用的研究主题:时间序列异常检测。 时间序列异常检测是一种在时间序列数据中识别和标识与预期模式、趋势或行为不符的异常点或事件的技术。鉴于它如此广泛的应用范围…

HP1010 | 业界首款图腾柱 PFC 专用数字控制器震撼来袭!

随着节能标准和客户需求的不断提高,电源解决方案的效率和尺寸也在不断优化,设计紧凑高效的 PFC 电源是一个复杂的开发挑战。随着第三代半导体器件氮化镓和碳化硅的大范围应用,图腾柱无桥 PFC(TPPFC)应用获得极大的拓展…

IDEA解决Git冲突详解

目录 前言: 何为冲突 冲突演示 IDEA冲突解决 小结: 前言: 相信大家多多少少都有了解和使用过Git,作为Java程序员idea可谓是无敌的存在了,那么如何使用idea解决Git冲突呢?不瞒大家前段时间在公司把同事…

Java arthas分析接口性能

一、环境准备 1、arthas文档: 简介 | arthas 2、下载arthas-boot.jar https://arthas.aliyun.com/arthas-boot.jar 二、启动arthas java -jar arthas-boot.jar 输入对应pid,进入对应服务 三、排查 1、执行命令: trac 类路径 方法名 tr…

编写算法,对n个关键字取整数值的记录序列进行整理。以使所有关键字为负值的记录排在关键字为非负值的记录之前

编写算法,对n个关键字取整数值的记录序列进行整理。以使所有关键字为负值的记录排在关键字为非负值的记录之前,要求: (1)采用顺序存储结构,至少使用一个记录的辅助存储空间 (2)算法的…

大数据HCIE成神之路之数学(4)——最优化实验

最优化实验 1.1 最小二乘法实现1.1.1 算法介绍1.1.2 代码实现1.2 梯度下降法实现1.2.1 算法介绍1.2.2 代码实现1.3 拉格朗日乘子法1.3.1 实验1.3.2 实验操作步骤1.1 最小二乘法实现 1.1.1 算法介绍 最小二乘法(Least Square Method),做为分类回归算法的基础,有着悠久的历…

智能配电箱监控系统

智能配电箱监控系统是一种用于实时监控配电箱运行状态和电能质量的系统。它通过集成应用物联网技术,实现对配电箱的数据采集、整合和处理,从而让工作人员能够远程了解和掌握配电箱的情况。通过电力设备的数字化,依托电易云-智慧电力物联网&am…

JVM 字节码

JVM概述 问题引出 你是否也遇到过这些问题? 运行着的线上系统突然卡死,系统无法访问,甚至直接OOM!想解决线上JVM GC问题,但却无从下手。新项目上线,对各种JVM参数设置一脸茫然,直接默认吧&…

Redis安装和部署详细流程

文章目录 一、Windows环境下安装 Redis1.1 下载Redis1.2 启动redis服务器1.3 启动redis客户端1.4 配置环境变量 参考资料 一、Windows环境下安装 Redis windows系统环境下,redis安装方式主要有: zip压缩包方式 https://redis.io/download 或者 https:/…

智慧机场视频监控系统方案:AI智能助力机场智慧运营

一、方案背景 随着人们生活物质水平的上升,人们对机场的需求也日益增多,在民航新建、迁建、扩建机场项目猛增的同时,也需同步配备相应的安防监控系统,以满足民航机场安全管理要求和机场运营业务的高速发展。 二、方案概述 智慧机…

主机的容器化技术介绍

☞ ░ 前往老猿Python博客 ░ https://blog.csdn.net/LaoYuanPython 一、什么是容器 容器是一个标准化的单元,是一种轻量级、可移植的软件打包技术,容器将软件代码及其相关依赖打包,使应用程序可以在任何计算介质运行。例如开发人员在自己的…

Sui受邀参加Builder DAO举办的LeadUp The Night活动,畅谈Sui与Move语言

LeadUp the Night是一个定期举办的MeetUp活动,由Builder DAO邀请区块链各方项目开发者、VC担任本活动的讲师。这个活动旨在促进区块链技术的发展和应用,让参与者有机会开发创新的区块链应用,探索区块链技术的潜力。 ​​11月30日受BuilderDA…

全球市场:12个冷门海外媒体推广平台值得尝试

随着互联网的迅猛发展和全球市场的日益融通,跨国企业的海外推广变得越来越重要。大多数企业只关注知名的社交媒体平台和搜索引擎,忽略了一些冷门但价值巨大的海外媒体推广平台。本文将介绍12个冷门的海外媒体推广平台,帮助您进一步扩大全球市…

openGauss学习笔记-135 openGauss 数据库运维-例行维护-检查openGauss健康状态

文章目录 openGauss学习笔记-135 openGauss 数据库运维-例行维护-检查openGauss健康状态135.1 检查办法135.2 操作步骤135.3 异常处理 openGauss学习笔记-135 openGauss 数据库运维-例行维护-检查openGauss健康状态 135.1 检查办法 通过openGauss提供的gs_check工具可以开展o…

《开箱元宇宙》:Madballs 解锁炫酷新境界,人物化身系列大卖

你是否曾想过,元宇宙是如何融入世界上最具代表性的品牌和名人的战略中的?在本期的《开箱元宇宙》 系列中,我们与 Madballs 的战略顾问 Derek Roberto 一起聊聊 Madballs 如何在 90 分钟内售罄 2,000 个人物化身系列,以及是什么原…