如何熟练使用vim工具?

在这里插入图片描述

🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨
🐻推荐专栏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,欢迎大家私信找我免费获取哦!

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

在这里插入图片描述

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

XUbuntu22.04之OBS30.0设置录制音频降噪(一百九十六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

Maven下载与安装教程

一、下载 Maven 进入 Maven 官网:maven.apache.org/download.cgi 选择 .zip 文件下载,最新版本是 3.9.5 二、安装 Maven 将 .zip 文件解压到没有中文没有空格的路径下。例如下图,在创建一个repository的空文件夹在他的下面,用于…

Spring之@Autowired 属性多实现和单实现源码解析

Autowired使用过程中遇到疑问,通过源码解析原因 一、起因1、当person只有一个实现类时,TestController中,Person属性随意取名。2、当有Person两个实现类时,TestController中,属性名称必须和实现类名一致(ma…

泛域名SSL证书是什么?泛域名SSL证书价格多少钱?

泛域名SSL证书是一种SSL证书类型,也被称为通配符SSL证书。SSL证书是保护网站数据传输安全及服务器身份可信的数字证书产品,通常绑定域名或IP,配置到网站服务器上。SSL证书根据保护域名数量及域名类型的不同,可以分为单域名SSL证书…

2024年软考高级信息系统项目管理师备考攻略

软考高级信息系统项目管理师是一项合格性考试,考试内容相对有限,因此真题的重复率较高。下一次考试与上一次相比,重复率不高,但与之前所有年份的真题相比,重复率较高。在这几次考试中,我认为最重要的是务必…

【视觉SLAM十四讲学习笔记】第三讲——旋转向量和欧拉角

专栏系列文章如下: 【视觉SLAM十四讲学习笔记】第一讲——SLAM介绍 【视觉SLAM十四讲学习笔记】第二讲——初识SLAM 【视觉SLAM十四讲学习笔记】第三讲——旋转矩阵 本章将介绍视觉SLAM的基本问题之一:如何描述刚体在三维空间中的运动? 旋转向…

关于前端学习的思考-浮动元素和块级元素的关系

先摆关系:浮动元素嵌套块级元素,浮动元素和块级元素是上下关系。 1、浮动元素为父盒子,块级元素为子盒子。 父盒子为浮动元素,子盒子不会继承。如图floatnone; 摆结论:子盒子为行内元素,行内块…

Echarts大屏可视化_04 横向柱状图模块的引入和开发

模块的引入 1.寻找官方示例引入 ECharts官方实例入口 2.引入示例 ECharts 示例 可从这里直接进入 标题、提示信息、图例都不需要所以直接删掉 <div class"column"><div class"panel bar2"><h2>柱状图-技能掌握</h2><div cla…

【Linux】SELinux 关闭

SELinux 最在安装国产数据库&#xff0c;遇到了无法远程访问的问题&#xff0c;定位了之后&#xff0c;需要关闭SELinux 。 在关闭它之前我们一起了解一下什么是SELinux &#xff1f; 什么是SELinux 安全增强式 Linux&#xff08;SELinux&#xff09;是一种强制访问控制的…

【程序员的自我修养03】深入了解ELF文件格式

绪论 大家好&#xff0c;欢迎来到【程序员的自我修养】专栏。正如其专栏名&#xff0c;本专栏主要分享学习《程序员的自我修养——链接、装载与库》的知识点以及结合自己的工作经验以及思考。编译原理相关知识本身就比较有难度&#xff0c;我会尽自己最大的努力&#xff0c;争取…

【C语言期末不挂科——指针进阶篇】【上】

C语言进阶篇【上】 文章目录 C语言进阶篇【上】字符指针数组指针数组传参和指针传参  数组传参  一级指针传参  二级指针传参 前言&#xff1a; 我们在指针初阶篇学习了&#xff1a; 1、指针就是个变量&#xff0c;用来存放地址&#xff0c;地址唯一标识一块空间。 2、指…

uniapp在H5端实现PDF和视频的上传、预览、下载

上传 上传页面 <u-form-item :label"(form.ququ3 1 ? 参培 : form.ququ3 2 ? 授课 : ) 证明材料" prop"ququ6" required><u-button click"upload" slot"right" type"primary" icon"arrow-upward" t…

大语言模型新升级:亚马逊云科技2023芯片创新日

在这个充满活力的2023年芯片创新日&#xff0c;Amazon EC2 的副总裁 Dave Brown 与观众分享了他与 EC2 的15年漫长旅程。他的眼中闪烁着对技术的热情&#xff0c;他描述了自己如何与一个才华横溢的团队合作&#xff0c;在这大语言模型与生成式AI的元年中致力于为客户提供最佳的…

Linux:进程状态

目录 1.Linux内核关于进程状态的源代码 2. 运行状态 3. 阻塞状态 4. 挂起 5.Linux中的进程状态 5.1 睡眠状态 5.2 暂停状态 5.3 僵尸进程与孤儿进程 我们在学习进程状态时&#xff0c;老师只是简单的让我们记住下面这张图 1.教材中进程操作系统的进程状态 那么这些…

四、shell - 字符串

目录 1、单引号 2、双引号 3、拼接字符串 3.1 使用双引号拼接 3.2 使用单引号拼接 4、获取字符串长度 ​​​​​​​5、提取子字符串 ​​​​​​​6、查找子字符串 ​​​​​​​字符串是shell编程中最常用最有用的数据类型&#xff08;除了数字和字符串&#xff0…

大模型的RPA应用 | 代理流程自动化(APA),开启智能自动化新纪元

随着技术创新的持续推进&#xff0c;自动化技术已经变得至关重要&#xff0c;成为驱动企业和社会向前发展的核心动力。在自动化的里程碑中&#xff0c;机器人流程自动化&#xff08;RPA&#xff09;已经有效地将简单、重复且规则性的任务自动化。可是随着对处理更为复杂、多变且…

“最甜港姐”走的与众不同之路

网络图片 媒体最新报道&#xff0c;她被誉为“最甜港姐”&#xff0c;曾是TVB炙手可热的当红花旦&#xff0c;却在最当红的时候选择急流勇退。 她不是退圈去相夫教子&#xff0c;而是读书深造&#xff0c;成为一名专业律师。 前不久&#xff0c;又有消息传出&#xff0c;明年…

VUE2+THREE.JS辉光设定和解决辉光导致背景变暗的问题

THREE.JS辉光设定和解决辉光导致背景变暗的问题 THREE.JS 辉光设定THREE.JS 辉光导致背景变暗的问题1.设定背景图片2.初始化辉光3. animate 一直渲染辉光 THREE.JS 辉光设定 给我的设计好的fbx模型,已经设定好了模型发光材质,所以直接添加辉光效果,就可以自动发光 blender模型生…

Docker 安装部署 Sentinel Dashboard

1、下载 jar 包 官方 jar 包下载地址&#xff1a;https://github.com/alibaba/Sentinel/releases 或者点击 链接 直接跳转到下载页 进入链接下载你需要的版本 下载完毕&#xff08;我这里统一放在一个sentinel目录内&#xff09; 2、编写 Dockerfile 文件&#xff08;这里我不…

求臻医学满分通过EMQN室间质评,检测实力再获国际权威机构认可

近日&#xff0c;欧洲分子基因诊断质量联盟&#xff08;European Molecular Genetics Quality Network&#xff0c;EMQN&#xff09;公布了2023年Oncogene panel 项目能力验证考核结果&#xff0c;求臻医学旗下北京和杭州检验实验室&#xff0c;使用自主研发的ChosenOne大Panel…