linux第四讲----基础开发工具vim

embedded/2025/3/1 22:06:00/

1.软件安装

这里以ubuntu为例,安装sl软件,输入这个命令即可自动安装~

使用一下,输入sl,屏幕上会出现一个移动的小火车

 之后不想要了准备卸载就输入:

注意:1)下载软件时也可以进行搜索~ 2)centos的把apt换成yum即可

2.编辑器vim

1.介绍

vim是一个多模式的编辑器,总共有6种模式,这里我们介绍其中三种,命令模式,插入模式,还有底行模式,打开时默认进入命令模式!

2.运用

1)进入命令模式

vim   文件名

之后进入编辑界面(如图) ,先别乱动!!!

(注:若上一次打开了这个文件,下次在想打开时直接输入!v即可) 

 2)退出命令模式

当前界面直接输入冒号q(:q),也就是shift+;q,完成退出

注:如果你修改了东西,需要再加一个!才能退出去,表示强制退出(不保存退出)

3)  进入插入模式

在上述编辑界面输入i/a/o,左下角变为INSERT即为插入模式,该模式下我们可以自由输入,如图输入完成

(i是光标不动,a是光标向后移动一个字符,o是光标向下移动一个字符)

4)退出插入模式

我们完成输入后,想退出,但是千万不要直接将xshell关掉,否则会有很大的麻烦,正确的做法是按ESC键退回到命令模式,在按:wq进行保存并退出!(或者按:ZZ(快捷键)也可以退出) 

5)设置编号

进入命令模式,输入:set nu ,回车后即可

6)底行模式

进入命令模式后,按冒号(:)进入底行模式,之后在输入命令即可,操作完成后按ESC退出该模式,回到命令模式,也就是说我们之前的一些操作就是先切到这个模式然后在输入指令的

上图为底行模式 

 上图为插入模式

上图为命令模式 

7)三者关系

8) 编译代码

方法一)

方法二)

 

方法三)前提是你之前编译过这个文件

 

 3.vim中详细操作

(以下均在命令模式下操作!!!)

先补充一个冷知识:你退出时光标在哪里,在进入时光标就还会在哪里

好了,现在假设我的code.c文件有1w行,并且我光标在最后一行时退出的,现在我想打开时就回到第一行,该怎么做呢?可以参考方法1,光标瞬移法(自己编的名)

1)光标瞬移

直接输入 vim code.c +x            ,其中x为你想让光标所处的行数

如下图,x==6

 2)复制粘贴

在对要复制的地方,以命令模式按下yy,之后在需要粘贴的位置的前一行按p即可完成,如果想复制n次,则按np即可,n=1,2,3...

若想进行多行复制,直接将光标放到要复制内容的第一行,输入nyy,n为数字表示要复制的行数,之后shift g到结尾,p一下,当然p前面也可以加数字,表示该内容想复制粘贴多少次

3)光标定位

在命令模式下,不论你的光标在哪,输入gg,即可将光标迅速回到第一行,输入G,直接定位到末尾,若想定位到任意第x行,在命令模式下,输入xshift+g(或者直接xG),x为数字。

若想定位到当前行开始,则命令模式输入shift+6(=^)

若想定位到当前行末尾,则命令模式输入shift+4(=$)

若想进行光标简单小移动,一种方法是按键盘的上下左右键,另一种方法是命令模式h表示左,l表示右,j表示下,k表示上

4)撤销操作及恢复操作

撤销刚刚的操作,按u(undo)

恢复撤销操作:ctrl+r(注:所有的后悔操作都是基于你没退出vim)

5)剪切

将光标移动到要剪切的内容,按dd进行剪切,按p完成剪切

(dd:删除当前行,dd+p:剪切)

(dd也支持n操着,类比2),不在细说)

6)大小写转换

shift+`=~,按住shift不要动,之后按~,就会进行大小写转换

7)行内移动光标

n+w:以”单词“为单位向后移动

n+b:以”单词“为单位向前移动

n同上

8)删除某个字符内容

删除某个字符后面的内容:将光标移动到该字符,按n+x,n同上,撤销则按u

shift+x:删除某个字符前面的内容

9)修改某个字符内容

光标移动到要修改字符,

n+r+要修改的字符:修改某个字符,(还是按u撤销操作)

shift+r:进入vim的替换模式,覆盖式进行替换,按ESC退出

10)查找

光标放一个单词上,shift+#,选中一个单词,按n查找下一个

11)批量化注释

先ctrl+v:进入visual block模式,(视图模式)

再用hjkl上下左右调整所选范围(hjkl前面可以带数字,下同)

再shift+i:进入insert模式,并输入//

之后按esc完成批量注释

注意:上述步骤是为选中的区域,插入//,同理我们也可以插入其他文本内容(去注释也同理)

12)批量化去注释

先ctrl+v,

再hjkl选择

之后按d完成去注释

13)强制操作

:w!        强制保存,当我们将文件权限设为000是,用root账号写的时候保存会用到

:q!         强制退出,不保存刚刚所更改内容

:wq!       强制保存并退出

14)行号

:set nu     设置行号

:set nonu     取消行号

15)整体替换

:%s/要替换的/替换为的/g

如图,将所有的double替换为int

:%s/double/int/g

16)文件操作

1.新建文件

 直接vim 新建文件名,之后:wq,即可新建完毕

 

2.对比文件

:vs 文件名 

 左右侧光标切换:ctrl +ww

现实中我们可以根据需要同时对比多个文件!


http://www.ppmy.cn/embedded/169158.html

相关文章

ElasticSearch核心技术解析:倒排索引与IK分词器如何解决中文搜索痛点

在传统数据库中,模糊查询往往难以应对现实中的复杂情况。随着数据量的增加,查询时间显著变慢,功能也相对单一。当搜索时出现错别字或拼音输入时,搜索结果往往不尽如人意。因此,我们需要学习一种强大的搜索框架技术——…

C#开发——日期操作类DateTime

在C#中,日期和时间的操作主要通过 System.DateTime 类来实现。 DateTime 提供了丰富的属性和法,用于处理日期和时间的创建、格式化、比较和计算等操作。以下是一些常用的日期函数和特性: 一、创建日期和时间 1、直接指定日期和时间&…

TCP长连接与短连接

TCP长连接与短连接 TCP(传输控制协议)中的长连接和短连接是两种不同的连接管理方式,各有优缺点: 短连接 短连接是指客户端与服务器完成一次数据交换后就断开连接。下次需要通信时,再重新建立连接。 特点&#xff1…

k8s环境搭建(从创建完一台虚拟机开始)

注意: 在这之前,所有主机需要关闭防火墙!!! 1. docker 安装 所有主机都需要 1.1配置仓库 vim /etc/yum.repos.d/docker.repo https://mirror.tuna.tsinghua.edu.cn/docker-ce/linux/rhel/9/x86_64/stable/ 1.2 下…

RabbitMQ 集群部署方案

RabbitMQ 一、安装 RabbitMQ 二、更改配置文件 三、配置集群 四、测试 环境准备:三台服务器,系统是 CentOS7 IP地址分别是: rabbitmq1:192.168.152.71rabbitmq2:192.168.152.72rabbitmq3:192.168.152.…

三个小时学完vue3(一)

Vue3 之前就学过一些&#xff0c;不过用的比较少&#xff0c;基本忘完了/(ㄒoㄒ)/~~ 跟着B站视频迅速回忆一下 创建一个Vue 3 应用 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport&…

【PyCharm安装】【Python安装】【PyCharm使用】全流程

2025 - 02 - 28 - 第 64 篇 Author: 郑龙浩 / 仟濹 【PyCharm安装】【Python安装】【PyCharm使用】 文章目录 Python安装PyCharm安装及使用一 Python安装1 **Python 安装包里都包括什么呢&#xff1f;&#xff1f;&#xff1f;**2 安装时的一些选项勾选有何作用&#xff1f;(1…

【愚公系列】《Python网络爬虫从入门到精通》035-DataFrame数据分组统计整理

标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度…