Linux之vim的使用详细解析

个人主页:点我进入主页

专栏分类:C语言初阶  C语言进阶  数据结构初阶    Linux    C++初阶    算法

欢迎大家点赞,评论,收藏。

一起努力,一起奔赴大厂

目录

一.vim简介

二.vim的基本概念

 三.vim的基本操作

3.1准备

3.2光标在普通模式和插入模式中的移动

3.3普通模式

3.3.1复制粘贴

3.3.2剪切粘贴

3.3.3多行复制

3.3.4光标的移动

3.3.5撤销和撤销上一次撤销

3.3.6批量注释和批量取消注释

3.4底行模式

3.4.1退出保存

3.4.2强制执行

3.4.3多窗口打开文本

四.vim一键配置

一.vim简介

        vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 mac os、windows。

二.vim的基本概念

        vim包含很多种模式,但是最重要的是底行模式,普通模式,插入模式,普通模式是我们控制光标对字符的删除以及切换到我们的底行模式和插入模式,底行模式是进行文本的保存以及一些操作,插入模式是我们对文本进行修改底行模式和插入模式我们都可以按esc进行返回普通模式,普通模式中我们想进入插入模式我们需要按i才可以进入,我们普通模式想进入底行模式需要输入:才能进入,我们可以画图为:

其中底行模式和插入模式不可以进行直接互换。

 三.vim的基本操作

3.1准备

        在进行vim的基本操作前我们需要先下载vim,我们输入下面的指令进行vim的下载

sudo yum install -y vim

下载完成后我们创建一个文件然后使用vim打开,具体操作可以参考下面的指令第一行是创建文本,第二行是使用vim进行打开

>>test.c
vim test.c

输入完成后我们可以看到出现了我们的vim编译器

由于我是配置完成的vim,所以下显示的可能和大家的有些不同。此时我们就在我们的普通模式,我们输入i然后进行对文本的初始编写。

1 #include<stdio.h>2 3 int main()4 {5     printf("Hello Linux\n");6     return 0;7 }    

我们此时可以看到:

3.2光标在普通模式和插入模式中的移动

        在普通模式和插入模式中我们想和以前一样使用鼠标是不可能的,这时候需要我们的键盘出手了,在普通模式中我们有两种方法进行光标的移动,一种是我们的上下左右移动键,第二种就是我们的

HJKL

这四个键,其中H是向左移动一个字符,L是向右移动一格字符,J是向下移动一个字符,K是向上移动一个字符。例如我们的光标在第7行的}哪里我们输入K可以看到:

插入模式中我们需要通过上下左右键进行移动,不能通过HJKL进行移动。

3.3普通模式

3.3.1复制粘贴

        在这里复制粘贴包括两种复制粘贴一种是复制一行然后粘贴一种是复制n行然后粘贴,我们先说第一种复制一行然后粘贴,我们在普通模式下输入

yy

这时候我们光标在的那一行就被复制了我们再输入

p

就会在下一行进行复制

接下来是复制n行然后复制,我们先输入n的值然后输入yy例如我们想复制3行,我们把光标移动到想复制的位置,然后输入

3yy

我们再输入

p

 

3.3.2剪切粘贴

        同样我们的剪切粘贴也分为两种一种是剪切一行然后复制一行,另一种是剪切n行然后复制n行,我们先看第一种我们把光标移动到想要剪切的位置输入

dd

我们再输入

p

我们再看另一种剪切n行然后粘贴例如我们想剪切3行,我们输入

3dd

然后输入

p

3.3.3多行复制

        我们的复制也可以进行多行复制例如我们想复制10000次第8行我们先复制第8行然后输入

10000p

3.3.4光标的移动

        在上面我们说了光标的上下左右移动如果我我们想将光标移动到开始位置呢?我们可以输入

gg

如果我们想让光标移动到结尾位置我们可以输入(必须大写)

G

如果我们想让光标移动到n位置,例如我们想让光标移动到5000的位置我们输入

5000gg

我们还可以让光标在一行中进行移动,移动到这一行的开始和结尾,例如我们想移动到这一行的结尾我们输入

$

我们想移动到这一行的开始我们输入

^

我们还有逐个单词的移动例如我们想向后移动一个单词,我们输入

w

向前移动一个单词,我们输入

3.3.5撤销和撤销上一次撤销

        我们有时候会遇到这种情况,我们不小心多写一段或者少些一段内容,或者不小心删除一段内容,这时候我们需要用到我们的撤销功能,撤销的指令就是

u

例如我们不小心多复制了10000行如下:

这时候我们输入u就可以把那1000行进行撤销

假如我们不小心多撤销了例如:

我们就需要对撤销进行撤销,这时候我们需要输入指令

ctrl r

3.3.6批量注释和批量取消注释

        我们写代码时经常会遇到需要注释的地方,我们应该怎样批量注释呢?例如我们想将500行到510行进行注释,我们先将光标移动到500行

我们先输入

ctrl v

然后进行移动进行选中(HJKL)

然后输入

I

然后输入

//

然后输入两次esc

这样我们的批量注释就完成了。

对于我们的批量取消注释,我们先输入

ctrl v

然后进行选中

然后输入、

d

这样批量取消数组就完成了。

3.4底行模式

3.4.1退出保存

        我们先进入底行模式,也就是先进入普通模式然后输入:就会进入到我们的底行模式

我们输入

wq

就可以完成保存退出。

3.4.2强制执行

        有时候我们会遇到不能执行的指令,例如某一个文本我们不能wq进行保存退出我们就可以输入

!wq

完成强制保存退出。
利用!我们还可以完成一些操作,即使不退出vim我们也可以执行指令

我们现在在底行模式中我们想创建一个test2.c的文件我们输入

! touch test2.c

我们退出来就可以看到

3.4.3多窗口打开文本

        我们想要打开多个文本,例如我们想将test.c和test2.c同时打开,我们先用vim打开test.c

然后我们进入底行模式输入

vs test2.c

此时的光标在哪我们就是控制哪一个文本,这样我们就可以完成多文本的编写,我们关闭文本就是关闭此时的文本,我们看下边

此时对test2.c进行编写我们想关闭test2.c在底行模式中输入

wq

我们重新打开,如果我们想进行编写test.c但是光标在test2.c我们输入

ctrl w

四.vim一键配置

        注意这个配置需要Centos7,并且必须不能在root账号中进行,我们直接输入指令

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

卸载方法是输入指令

bash ~/.VimForCpp/uninstall.sh

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

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

相关文章

智能SQL生成:后端技术与LLM的完美结合

文章目录 引言一、什么是大模型二、为什么选择LLM三、开发技术说明四、系统架构说明五、编码实战1. Maven2. 讯飞大模型配置类3. LLM相关的封装4. 编写LLM的service5. 编写controller6. 运行测试 六、总结 引言 本篇文章主要是关于实现一个类似Chat2DB的根据自然语言生成SQL的…

国家能源、华能、一汽、中国交建、中国铁塔、中国烟草、中航信托--校园招聘历年题库和真题

作为准备参加国有企业校园招聘的应聘者&#xff0c;掌握相关企业的招聘试题资料是至关重要的。国家能源、华能、一汽、中国交建、中国铁塔、中国烟草、中航信托等知名国有企业在中国经济中扮演着重要的角色&#xff0c;每年都会举行校园招聘活动&#xff0c;吸引大批毕业生和应…

【Linux】CentOS 7搭建Postfix邮件服务器

先说明一下&#xff0c;此文章是参考别的大神写的文章&#xff0c;修改和整理出来的。 本来作为自己的笔记&#xff0c;最后想了一下&#xff0c;还是分享给大家。 一、实验环境 硬件环境&#xff1a; Linux服务器一台&#xff0c;IP地址&#xff1a;192.168.17.200&#xff…

【人脸朝向识别与分类预测】基于PNN神经网络

课题名称&#xff1a;基于PNN神经网络的人脸朝向识别分类 版本日期&#xff1a;2024-02-20 运行方式&#xff1a;直接运行PNN0503.m文件 代码获取方式&#xff1a;私信博主或 QQ:491052175 模型描述&#xff1a; 采集到一组人脸朝向不同角度时的图像&#xff0c;图像来自不…

ThreadPoolExecutor原理详情讲解

一、简介 ThreadPoolExecutor是Java中的一个类&#xff0c;它实现了ExecutorService接口&#xff0c;用于创建一个线程池。线程池是一种线程使用模式&#xff0c;它维护着一组线程&#xff0c;等待监督管理者分配可以并发执行的任务。ThreadPoolExecutor的主要目标是减少在创建…

Animated Trees Package

此软件包包含30个高质量的全动画树木。所有模型都是用Blender 3D制作的。 要安装URP或HDRP材质,请选择主文件夹中的“URP Materials”或“HDRP Materials”包文件,并导入所有文件。 下载:​​Unity资源商店链接资源下载链接 提取码:3gng 效果图:

正大国际:高频交易可以做吗?

第一种&#xff1a;抄单交易 这种做法也可以称之无脑型抄单&#xff0c;就是一旦进场之后&#xff0c;几秒钟内&#xff0c;不管是盈利还是亏损就要立即出来。交易时间一般是2-5秒&#xff0c;每天可能要做上几百次&#xff0c;或者上千次来回交易。这种做法对品种有要求&…

纯国产轻量化数字孪生:智慧城市、智慧工厂、智慧校园、智慧社区。。。

AMRT 3D数字孪生引擎介绍 AMRT3D引擎是一款融合了眸瑞科技的AMRT格式与轻量化处理技术为基础&#xff0c;以降本增效为目标&#xff0c;支持多端发布的一站式纯国产自研的CS架构项目开发引擎。 引擎包括场景搭建、UI拼搭、零代码交互事件、光影特效组件、GIS/BIM组件、实时数据…

腾轩科技传媒分享创建舞蹈家百度百科词条流程

近年来&#xff0c;随着互联网的不断发展&#xff0c;人们获取信息的方式也逐渐多样化&#xff0c;其中百度百科作为一个综合性的知识平台&#xff0c;为人们提供了一个方便快捷的途径来获取各种知识和信息。在百度百科上&#xff0c;每个人都有可能成为一个有影响力的人&#…

matlab simulink永磁同步电机pid控制

1、内容简介 略 53-可以交流、咨询、答疑 2、内容说明 略 摘 要 19世纪90年代&#xff0c;美国西屋电气公司研制出了世界上第一台交流同步电机。随着科学技术的迅猛发展和生产工艺的持续进步&#xff0c;在20世纪50年代出现了永磁同步电机。它以永磁体代替电励磁绕组&#…

解决vulhub漏洞环境下载慢卡死问题即解决docker-valhub漏洞环境下载慢的问题

解决vulhub环境下载慢/卡 当前环境为&#xff1a;ubuntu20 1.在 cd /etc/docker/目录下创建或修改daemon.json文件 sudo touch daemon.json编辑daemon.json文件 sudo vim daemon.json2.填写阿里云镜像地址&#xff1a; { "registry-mirrors":["https://6kx…

opencv图像处理

// 提取路口轮廓集合&#xff08;每个路口的轮廓为一系列点集&#xff09; std::vector<std::vector<cv::Point>> node_contours; std::vector<cv::Vec4i> node_hierarchy;保存轮廓的层次关系// 只提取外轮廓 轮廓近似方法&#xff1a;水平垂直对角线只保留端…