Vim基本使用操作

                                       前言:作者也是初学Linux,可能总结的还不是很到位

                                               Linux修炼功法:初阶功法

                                       ♈️今日夜电波:美人鱼—林俊杰

                                                                0:21━━━━━━️💟──────── 4:14
                                                                    🔄   ◀️   ⏸   ▶️    ☰ 

                                      💗关注👍点赞🙌收藏您的每一次鼓励都是对我莫大的支持😍


目录

一、Vim的概述

二、Vim的四种命令模式

三、插入模式的基本操作

四、末行模式基本操作

五、命令模式基本操作 

 六、可视模式基本操作 


一、Vim的概述

        Vim是一款文本编辑器,它是从vi(一种老式的Unix编辑器)衍生而来的,但比vi功能更强大和灵活。它具有简单的界面和强大的编辑功能,可以帮助用户高效地编辑文本文件。Vim具有多种模式,包括命令模式、插入模式和可视模式。在命令模式下,用户可以执行命令,例如移动光标、删除文本或搜索。在插入模式下,用户可以输入文本。在可视模式下,用户可以选择文本进行处理。Vim还支持插件,可以帮助用户扩展其编辑能力和自定义编辑环境。由于其强大的功能和高效的编辑方式,Vim被广泛用于编程和系统管理任务。

二、Vim的四种命令模式

 Vim有四种命令模式,分别为:

1. 命令模式(Normal Mode):在该模式下,用户可以使用大部分Vim的命令来移动光标、删除、复制、粘贴、搜索、替换等等。

2. 插入模式(Insert Mode):在该模式下,用户可以像在其他文本编辑器中一样输入文本。可以通过按下i、a、o等命令进入插入模式。

3. 可视模式(Visual Mode):在该模式下,用户可以通过移动光标来选中一个文本区域,然后对该区域执行某些命令。可以通过按下v、V、Ctrl+v等命令进入可视模式。

4. 末行模式(Command Mode):在该模式下,用户可以执行一些高级命令,例如打开文件、保存文件、退出Vim等等。可以通过按下冒号(:)命令进入命令行模式。

        通常我们使用以下指令打开Vim编辑器

vim 文件名(如果有则直接打开,无则创建)

        而我们在用vim指令打开文件这一操作后,默认打开的就是 命令模式,如下:

        在此前,你需要记住一句话:切换任何模式都是在命令模式下进行切换的!!! 

        一图让你理解上面的话~

三、插入模式的基本操作

         我们在命令模式下,按下i/a/o其中任意一个按键就会进入插入模式,如果你不确定你是哪个模式下。不妨像作者一样,在进行切换前多点记下ESC键,在进入插入模式下后,左下角会有对应的标注,如下:

        操作命令:

        命令模式 + i :代表在光标之前插入内容(最常用)

        命令模式 + a:代表在光标之后插入内容

        命令模式 + o:在光标所在行的下面另起一新行插入

        命令模式 + s:   删除光标所在的字符并开始插入

        命令模式 + I: 在光标所在行的行首开始插入 如果行首有空格则在空格之后插入

        命令模式 + A:  在光标所在你行的行尾开始插入

        命令模式 + O:  在光标所在行的上面另起一行开始插入

        命令模式 + S:删除光标所在行并开始插入   

        通过ESC切换回命令模式!

四、末行模式基本操作

        通常在我们使用插入模式编辑完后退回到我们的命令模式,这个时候我们通常会想着退出Vim或者保存我们刚刚所写的代码或者数据等等。对此先介绍保存以及退出的命令操作

        对此,我们在退回命令模式后,通过shift+:进入末行模式!

        对于常用保存以及退出操作命令:

        : w (保存当前文件)

        : w!(强制保存当前文件)
        : q (输入q不存盘强制退出vim)
        : q! (输入q!,不存盘强制退出vim)

        : wq! (输入 wq!,强制存盘并退出vim)(最常用)

        一些基本指令: 

列出行号
「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号。


跳到文件中的某一行
「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,
再回车,就会跳到文章的第15行。

查找字符
「/关键字」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。


「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。

Vim进行多文件编辑  

:vs 文件(存在则打开无则建立)

        打开额外的一个文件在同一个窗口,当然也可以打开多个!

        用Ctrl+w w对文件进行切换操作

五、命令模式基本操作 

         命令模式除了可以切换其他模式的“中转站”外,还有着众多的指令,以下列出较为主要以及常用的指令!

移动光标
vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、
「l」,分别控制光标左、下、上、右移一格
按「G」:移动到文章的最后
按「 $ 」:移动到光标所在行的“行尾”
按「^」:移动到光标所在行的“行首”
按「w」:光标跳到下个字的开头
按「e」:光标跳到下个字的字尾
按「b」:光标回到上个字的开头
按「#l」:光标移到该行的第#个位置,如:5l,56l
按[gg]:进入到文本开始
按[shift+g]:进入文本末端
按「ctrl」+「b」:屏幕往“后”移动一页
按「ctrl」+「f」:屏幕往“前”移动一页
按「ctrl」+「u」:屏幕往“后”移动半页
按「ctrl」+「d」:屏幕往“前”移动半页

删除文字
「x」:每按一次,删除光标所在位置的一个字符
「#x」:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符
「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符
「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符
「dd」:删除光标所在行
「#dd」:从光标所在行开始删除#行

复制
「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
「#yw」:复制#个字到缓冲区
「yy」:复制光标所在行到缓冲区。
「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。

替换
「r」:替换光标所在处的字符。
「R」:替换光标所到之处的字符,直到按下「ESC」键为止。

撤销上一次操作
「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。
「ctrl + r」: 撤销的恢复

更改
「cw」:更改光标所在处的字到字尾处
「c#w」:例如,「c3w」表示更改3个字

跳至指定的行
「ctrl」+「g」列出光标所在行的行号。
「#G」:例如,「15G」,表示移动光标至文章的第15行行首

 六、可视模式基本操作 

        我们在写代码的时候通常都会有些地方需要注释,那么在Vim怎么注释呢?这个时候就需要用到可视模式了,其中对于注释以及取消注释是较为常用的操作。

         Ctrl + v 进入可视模式

        批量注释操作

        进入可视模式后通过方向键 h j k l 来选中要注释的区域,注意:一定要全选中!!!

        然后Shift+i或者I 再接// 再接ESC即可注释成功

        批量删除操作

        进入可视模式后通过方向键 h j k l 来选中要注释的区域,d即可删除指定区域 


                    感谢你耐心的看到这里ღ( ´・ᴗ・` )比心,如有哪里有错误请踢一脚作者o(╥﹏╥)o! 

                                       

                                                                         给个三连再走嘛~  

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

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

相关文章

9 网关的作用

1、总结: 1.如果离开本局域网,就需要经过网关,网关是路由器的一个网口。 2.路由器是一个三层设备,里面有如何寻找下一跳的规则 3.经过路由器之后 MAC 头要变,如果 IP 不变,相当于不换护照的欧洲旅游&#…

Java中对象转型

理解: 有一个对象 new ADHero(), 同时也有一个引用ad 对象是有类型的, 是ADHero 引用也是有类型的,是ADHero 一般来说引用类型和对象类型是一样的,当引用类型和对象类型不一致就要考虑类型转换 简单判断:把右边的当…

查询优化器:RBO与CBO

SQL查询优化器 1、数据库系统发展简史2、SQL查询优化器3、查询优化器分类4、查询优化器执行过程5、CBO框架Calcite简介 1、数据库系统发展简史 数据库系统诞生于20世纪60年代中期,至今已有近50多年的历史,其发展经历了三代演变,造就了四位图灵…

如何更改IP地址为美国IP?美国静态住宅代理如何搭建?

相信很多做跨境电商或外贸如TikTok shop、Facebook商店、Amazon、领英的玩家都需要搭建独享的美国IP环境来运营店铺,那么如何搭建稳定独享的IP环境呢?加下来为你详细介绍,助力您的跨境业务。 一、选择合适的代理IP 代理IP可以帮助隐藏用户真…

RT-Thread 11. Scons 选择不同的编译器编译BSP

1.使用gcc编译工程,生成elf、bin文件 如果是 ARM 平台的芯片,则可以使用 Env 工具,输入 scons 命令直接编译 BSP,这时候默认使用的是 ARM GCC 编译器,因为 Env 工具带有 ARM GCC 编译器。 2.使用template.uvproj 生成…

Java 萌新入门 -- 一些常见的基础知识点

文章目录 前言第一章.java语言概述java语言基础1.程序文档风格和注释2.从键盘读取数据3.变量与赋值4.java标识符5.关于数据类型与逻辑运算符6.限制输出 小数位数:(用第三种)7.关于带标签的的循环控制语句 第二章.类和对象与数组的定义1.方法设…

搭建嵌入式GDB调试环境以及VSCode+gdbserver 图形化调试

目录 1 搭建嵌入式gdb调试环境 1.1 交叉编译工具链自带的gdb和gdbserver 1.2 使用gdb进行嵌入式程序调试 1.2.1编写简单测试程序 1.2.2 gdb调试程序 1.3 源码编译gdb和gdbserver 1.3.1 下载gdb和gdbserver源码 1.3.2 编译gdb 1.3.3 移植gdbserver 2 VSCodegdbserver 图…

单片机程序无法下载?

原因一:电源问题 电源可能是导致STM32微控制器无法下载程序的一个常见原因。确保电源稳定对于正常运行和下载程序至关重要。以下是一些电源问题: 1. 电源电压不足:如果STM32微控制器没有足够的电压供应,它可能无法正常工作或下载程…

22款奔驰GLS450升级中规主机 实现导航地图 中文您好奔驰

很多平行进口的奔驰GLS都有这么一个问题,原车的地图在国内定位不了,语音交互功能也识别不了中文,原厂记录仪也减少了,使用起来也是很不方便的。星骏汇小许 Xjh15863 其实很简单,我们只需要更换一台中规的新主机就可以实…

【数据结构】树与二叉树(六):二叉树的链式存储

文章目录 5.1 树的基本概念5.1.1 树的定义5.1.2 森林的定义5.1.3 树的术语5.1.4 树的表示 5.2 二叉树5.2.1 二叉树1. 定义2. 特点3. 性质引理5.1:二叉树中层数为i的结点至多有 2 i 2^i 2i个,其中 i ≥ 0 i \geq 0 i≥0。引理5.2:高度为k的二叉…

『MySQL快速上手』-⑤-数据类型

文章目录 1.数据类型有哪些2.数值类型2.1 tinyint 类型2.2 bit 类型2.3 小数类型2.3.1 float2.3.2 decimal 3.字符串类型3.1 char3.2 varchar3.2 char 和 varchar 比较 4.日期和时间类型5.enum和set 1.数据类型有哪些 MySQL支持多种数据类型,这些数据类型可用于定义…

【AntDesign】Docker部署

docker部署是主流的部署方式,极大的方便了开发部署环境,保持了环境的统一,也是实现自动化部署的前提。 1 项目的目录结构 dist: 使用build打包命令,生成的打包目录 npm run build : 打包项目命令 docker: 存放docker容器需要修改…

Python爬虫-获取汽车之家车家号

前言 本文是该专栏的第9篇,后面会持续分享python爬虫案例干货,记得关注。 地址:aHR0cHM6Ly9jaGVqaWFoYW8uYXV0b2hvbWUuY29tLmNuL0F1dGhvcnMjcHZhcmVhaWQ9MjgwODEwNA== 需求:获取汽车之家车家号数据 笔者将在正文中介绍详细的思路以及采集方法,废话不多说,跟着笔者直接往…

MCU系统的调试技巧

MCU系统的调试技巧对于确保系统稳定性和性能至关重要。无论是在嵌入式系统开发的初期阶段还是在产品维护和优化的过程中,有效的调试技巧可以帮助开发人员快速发现和解决问题,本文将讨论一些MCU系统调试的技巧。 首先,使用调试工具是非常重要…

[量化投资-学习笔记008]Python+TDengine从零开始搭建量化分析平台-CCI和ATR

目录 1. 指标简介CCIATR 2. 程序编写题外话 1. 指标简介 将这两个指标放在一起,一方面是因为这两个指标都属于摆动指数,可以反应市场的活跃度。 另一方面是因为CCI和ATR与之前提到的EMA,MACD,布林带的三个指标的计算基础不同。之前的三个指标都是以收盘…

AR眼镜硬件解决方案_AR/VR智能眼镜安卓主板芯片方案介绍

随着近两年来增强现实(AR)技术的逐渐成熟,采用MT8788芯片解决方案的AR眼镜已经问世。众所周知,AR技术可以帮助开发者打造一个既强大而又实用的混合现实世界,将虚拟与真实世界相结合。 据了解,MT8788芯片采用了多芯片分布式处理系统…

虚幻5.3打包Windows失败

缺失UnrealGame二进制文件。 必须使用集成开发环境编译该UE项目。或者借助虚幻编译工具使用命令行命令进行编译 解决办法: 1.依次点击平台-项目启动程序 2.点击后面的按钮进行设置 3.稍等后,打包后的程序即可运行,之后就可以愉快的打包了

支持向量机 (SVM):初学者指南

照片由 Unsplash上的 vackground.com提供 一、说明 SVM(支持向量机)简单而优雅用于分类和回归的监督机器学习方法。该算法试图找到一个超平面,将数据分为不同的类,并具有尽可能最大的边距。本篇我们将介绍如果最大边距不存在的时候…

Android修行手册-实现利用POI将图片插入到Excel中(文末送书)

点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册点击跳转>Scratch编程案例点击跳转>软考全系列 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&…

ZZ308 物联网应用与服务赛题第G套

2023年全国职业院校技能大赛 中职组 物联网应用与服务 任 务 书 (G卷) 赛位号:______________ 竞赛须知 一、注意事项 1.检查硬件设备、电脑设备是否正常。检查竞赛所需的各项设备、软件和竞赛材料等; 2.竞赛任务中所使用…