【Linux】一文讲清楚 “vim“ 的指令操作(唯有不断练习,才能熟练)

【Linux】一文讲清楚 “vim“ 的指令操作(唯有不断练习,才能熟练)

文章目录

前言

相信接触过vim的读者或者是刚接触vim的读者,都对vim的操作一头雾水,甚至有些指令傻傻分不清楚。那么,看到这篇文章之后,一定能扫除你之前使用vim的困惑。相信经过本文的讲述能带着大家更加深入的了解vim、使用vim以及喜欢上vim!

本文在每个小节结束的末尾都会对本小节的指令做一个汇总,方便大家的查询。

那么话不多说,开始对vim操作的深入了解!!!💖🚢🚢🚢

哈哈哈

1. vim的简介

🍉相信已经有部分的读者已经了解过了vim是个什么东西了,但是为了照顾部分读者,这里还是有必要讲一下vim是个什么东西。

vim是个编辑器,如果大家使用过VSCode的话,对此再也了解不过了。vim就类似于Windows下大家常用的记事本,但是它比记事本的功能强大的多,这个也是我们必须得学习vim的理由之一 —— “vim是一款具有多模式的编辑器”。

🍉本文就是以vim的不同模式作为讲解vim操作的主线,深入讲解在vim不同模式下的各种指令,以及对应的作用。

那么,vim的模式共有5种:命令模式(默认模式)、插入模式、底行模式、替换模式、视图模式。
注意一个地方就是,大家想从一个模式切换到另一个模式期间必须都得先切换回命令模式。

好了,让我们进入指令操作的讲解吧!!!

哈哈哈

2. 命令模式下的指令

命令模式下,用户在vim中输入的所有字符都会被认为指令。

2.1 光标移动类指令

指令:

  • gg:作用:定位光标到最开始行。直接按键盘字母g键两次。
  • shift+g(G):作用:定位光标到结尾行。按住shift键和g键,或者键盘切换到大写模式之后按g键即可。
  • [n]+shift+g([n] + G):作用:定位光标到指定行。这里要说明的一点是,n代指的是你需要定位的行序号,比如:我按住6+shift+g,意味着我的光标就要定位到第6行。
  • shift+$:作用:定位光标到当前行的结尾。大家在输入时注意切换回英文输入法。
  • shift+^:作用:定位光标到当前行的开头。大家在输入时注意切换回英文输入法。
  • w:光标以单词为距离单位,进行行内或跨行向后移动。(遇到的是特殊符号(\、"等),则光标移动一步)(大家可以自行测试)
  • b:光标以单词为距离单位,进行行内或跨行向前移动。(遇到的是特殊符号,则光标移动一步)
  • h:将光标向左移动。(等价于键盘上的"←")
  • j:将光标向下移动。(等价于键盘上的"↓")
  • k:将光标向上移动。(等价于键盘上的"↑")
  • l:将光标向右移动。(等价于键盘上的"→")
这里需要跟大家,讲一下h,j,k,l如何记忆?以及为什么有着键盘上的上下左右键不用,非得用h,j,k,l?大家可以看一下自己键盘的布局,h和l分别位于这四个字母的最左边和最右边,也就可以形象的记忆为h是将光标向左移动,l是将光标向右移动。其次,j可以想象成一个英文单词"jump",向下跳(泰坦尼克号),所以j就是将光标向下移动。k可以想象成一个单词"king",国王都是高高在上的,为此k就是将光标向上移动!

为什么有着键盘上的上下左右键不用,非得用h,j,k,l?
有些读者肯定会有这么一个疑问,为什么放着键盘现成的上下左右键不用,要用我们不熟悉的h,j,k,l。原因很简单,就是早期的键盘没有现成的上下左右键,这个点我们要努力克服,尽量使用h,j,k,l。

古董级键盘

2.2 复制、拷贝、剪切、删除以及撤销指令

  • [n]yy:作用:复制行内容。这个n(代指数字)可写可不写,具体看你自己要复制多少行。如果你只要复制当前行的内容,就直接输入yy即可。如果你要复制当前行乃至当前行下面行的内容,此时就得输入一个数字再输入yy了。比如我输入了4yy,就相当于我从当前行开始往后再复制3行的内容(因为包括了当前行的内容)。
  • [n]p:作用:粘贴。这个n可写可不写,具体看你自己要粘贴多少行内容。这里需要注意的是,粘贴的内容是从当前行的下一行开始粘贴的,位置于yy指令有些许区别。
  • [n]dd:作用:删除、剪切。这个n(代指数字)可写可不写,具体看你自己要删除或剪切多少行内容。删除或剪切的操作是从当前行开始的。
  • [n]x:删除光标之后的字符。这个n(代指数字)可写可不写,具体看你自己要删除多少个字符。如果单单时是输入一个x,就代表删除1个字符。
  • [n]X:删除光标之前的字符。这个n(代指数字)可写可不写,具体看你自己要删除多少个字符。如果单单时是输入一个x,就代表删除1个字符。
  • u:作用:撤销。意思就是返回你上一次的操作的样子,这个应用的场景大多数都在误操作。
  • ctrl+r:作用:撤销之前的撤销。按住 ctrl 键之后再按 r 键。

2.3 其他作用的指令(大小写切换、替换字符)

  • [n]r:对光标之后的n(代指数字)个字符进行替换。
  • shift+~:大小写切换。大写变小写,小写变大写。

2.4 模式之间切换的指令(十分重要)

  • i:切换为插入模式。
  • shift+::切换为底行模式。先按住 shift 键之后再按 ;键即可。
  • shift+r:切换为替换模式。先按住 shift 键之后再按 r 键即可。
  • shift+v:切换为视图模式。先按住 shift 键之后再按 v 键即可。
哈哈哈

3. 底行模式下的指令

前提条件是,大家必须得从命令模式中用指令切换到底行模式,才能使用下面的指令。(这个往往是初学者容易忘记的一个点)

  1. ESC:退出底行模式,回到命令模式。键盘的左上角有个ESC键,按一下就可以退出底行模式了。
  2. set nu:会在vim中显示行号。(非常实用)
  3. [n]:在底行模式下,将光标跳转到指定行。注意:这里的[n]不是真的字母n,而是一个数字,这里我只是为了方便描述。我们只要再底行模式下输入4并按一个回车键,就可以将光标体跳转到第4行。
  4. / 关键字:在vim显示的文本下从第一个关键字的行开始往下搜索,按住n键,就可以搜索下一个含有这个关键字的行。先输入/,后面直接跟你想要查找的关键字即可。
  5. ? 关键字:在vim显示的文本下从最后一个关键字的行开始往上搜索,按住n键,就可以搜索上一个含有这个关键字的行。先输入?,后面直接跟你想要查找的关键字即可。
  6. noh:消除查找关键字之后的高亮
  7. vs [filename]:以分屏的形式打开这个文件。
  8. ctrl+ww:切换窗口。有了这个指令我们就是可以实现多文件操作了。
  9. w:保存文件。
  10. q:退出vim。这里做一个拓展,一般我们可能会遇到vim异常,导致你就算切换到底行模式输入了q键也无法退出,此时我们就得在q后面加一个!号,表示强制退出。而这个指令一般与w搭配使用,也就是输入wq,表示保存并退出!
  11. 替换文本内容:%s/[替换的字符串]/[替换成的字符串]/g
%表示全文替换。s相当于指令开始的起手势,必不可少。g表示仅替换第g行的指定的字符串。

4. 替换模式下的指令

大家切换到替换模式时,会看到一个小细节:

细节


在此模式下,你输入的所有字符都会随着光标的移动覆盖掉你之前写的文本!这个就是替换模式所赋予我们的功能。

  1. ESC:退出替换模式,回到命令模式。键盘的左上角有个ESC键,按一下就可以退出替换模式了。

🍉这里没有写插入模式的指令,是因为插入模式没有指令。这个模式下是我们真正写代码的模式!!!

好了,到这里本文的内容就已经全部讲解完毕了。指令虽然多,但是只要大家勤加练习,一定都不是问题的!!!

如果觉得本文对你有帮助的话,麻烦给偶点个赞吧!!!

哈哈哈

Read more

git国内版下载以及环境配置

git国内版下载以及环境配置

首先我这里提供国内镜像地址: 你可以通过以下国内镜像地址下载 Git 64 位 Windows 版本: 1. GitCode 镜像:提供了最新版本的 Git 安装包,适用于 Windows 64 位系统。 下载地址:Git-2.42.0.2-64-bit.exe 2. 阿里镜像:CNPM Binaries Mirror 提供了 Git 的多个版本,你可以选择最新版本进行下载。 访问地址:阿里镜像 Git 下载页面 3. Gitee 镜像:Gitee 提供了 Git for Windows 的镜像,不定期更新最新版本。 访问地址:Gitee Git for

By Ne0inhk
【AI大模型前沿】昆仑万维开源Skywork-R1V3:38B多模态推理模型,高考数学142分刷新开源SOTA

【AI大模型前沿】昆仑万维开源Skywork-R1V3:38B多模态推理模型,高考数学142分刷新开源SOTA

系列篇章💥 No.文章1【AI大模型前沿】深度剖析瑞智病理大模型 RuiPath:如何革新癌症病理诊断技术2【AI大模型前沿】清华大学 CLAMP-3:多模态技术引领音乐检索新潮流3【AI大模型前沿】浙大携手阿里推出HealthGPT:医学视觉语言大模型助力智能医疗新突破4【AI大模型前沿】阿里 QwQ-32B:320 亿参数推理大模型,性能比肩 DeepSeek-R1,免费开源5【AI大模型前沿】TRELLIS:微软、清华、中科大联合推出的高质量3D生成模型6【AI大模型前沿】Migician:清华、北大、华科联手打造的多图像定位大模型,一键解决安防监控与自动驾驶难题7【AI大模型前沿】DeepSeek-V3-0324:AI 模型的全面升级与技术突破8【AI大模型前沿】BioMedGPT-R1:清华联合水木分子打造的多模态生物医药大模型,开启智能研发新纪元9【AI大模型前沿】DiffRhythm:西北工业大学打造的10秒铸就完整歌曲的AI歌曲生成模型10【AI大模型前沿】R1-Omni:阿里开源全模态情感识别与强化学习的创新结合11【AI大模型前沿】Qwen2.5-Omni:

By Ne0inhk

Zvec 架构深度解析:阿里巴巴开源的轻量级进程内向量数据库

Zvec 架构深度解析:阿里巴巴开源的轻量级进程内向量数据库 Zvec 是阿里巴巴开源的一个轻量级、闪电般快速的进程内向量数据库。本文将深入分析 Zvec 的代码架构,揭示其核心设计理念和技术实现细节。 一、项目概览 1.1 核心特性 Zvec 基于 Alibaba 久经考验的 Proxima 向量搜索引擎构建,提供生产级的低延迟、可扩展的相似度搜索能力: * 极致性能:毫秒级搜索数十亿级向量 * 简单易用:无需服务器配置,零依赖安装 * 混合向量支持:同时支持稠密向量(Dense)和稀疏向量(Sparse) * 混合搜索:语义相似度 + 结构化过滤 * 随处运行:嵌入到应用进程内运行 1.2 技术栈 组件技术语言C++17构建系统CMakePython绑定Pybind11存储引擎RocksDB向量索引Proxima (IVF, HNSW, Flat)序列化Protobuf压缩LZ4位图CRoaring距离计算SIMD 加速 1.3

By Ne0inhk