LINUX入门篇【4】开发篇--开发工具vim的使用

news/2024/7/21 14:38:22 标签: linux, vim, 运维

前言:

从这一篇开始,我们将正式进入使用LINUX进行写程序和开发的阶段,可以说,由此开始,我们才开始真正去使用LINUX。

介绍工具:

1.LINUX软件包管理器yum:

1.yum的介绍:

在LINUX中,我们也需要用工具进行操作,既然涉及到操作系统,自然离不开对软件的操作,在LINUX中我们也要进行工具/指令/程序/安装/检查卸载等,需要软件去进行这些操作。
常见的下载软件的的方式有:
1.源代码安装,交叉编译(有时需要选择安装路径)
2.rpm包直接安装,安装的本质,就是把可执行程序拷贝到指定的路径下即可,这是对安装最基本的理解。
3.yum/apt-get一键式安装,在这里,我们最推荐最后一种通过yum安装,这也是我们今后下载的主要方式

yum:yum是我们LINUX预装的一种指令,搜索,下载,安装对应的软件。

2.yum的相关操作:

1.yum list:查看所有的软件列表
2.yum list |grep 对应的软件名:从软件列表中过滤出我们想要的软件名字
3.yum install (-y) 对应的软件名(只有root账号可以自由下载软件,或者用普通账号的sudo指令来进行)
4.yum remove 对应软件:卸载软件(同理,依旧是root账号或者sudo来执行才可以,其他人没有权限)

我们的软件是怎样显示的呢?
如下:
在这里插入图片描述
在这里适用的框架就是我们前面讲过的uname-a那个查看的系统框架。

3.yun生态:

经过上面的讲解,我们已经可以使用yum来查找下载和删除一些软件了,在这个过程中,你是否发现yum很像我们的手机上软件商店或者电脑上的电脑管家,没错,其实从本质上讲,他们就是同样原理的东西,yum就是LINUX上的软件商店。它的生态原理是这样的:
在这里插入图片描述
由于软件被开发测试完毕后都是直接上传到服务器端,数据会被一直保存到服务器端,故我们才能做到我们不论何时不论何地只要有网就可以下载软件。
对于一款操纵系统而言:
生态完整,使用者的社区非常的活跃,可维护性好,bug被及时修复,文档全面,并且被很多开发公司所使用,这边是一款好的操作系统,比如我们的windows我们使用vs进行开发,而LINUX中我们使用vim开发,LINUX和windows都是极为优秀的操作系统。
补充问题:
遇到软件安装不了的时候,我们可以使用yum install -y epel -release来直接安装扩展样源,同样使用root或者sudo执行。

yum中含有除了base以外的多个安装的源,这是由于厂商是不同的,比如上面的epel,有些软件可能在官方的yum源里是没有的,有时从官方样源找不到时,我们可以从扩展软件源里寻找epel,repo.
查看yum的安装源:
ls /etc/yum.repos.d/

倘若我们呢没有下载epel源,只需要下载:
yum install -y epel -release即可

4.yum源更新:

即是将Centos-Base.repo这种用包含国内下载链接的仓库文件,替换同类型的文件即可,

vim_gccg_35">2.vim gcc/g++:

vimvi_36">1.介绍vim/vi:

不管是vim还是vi,他们的本质就是一款文本编译器指令软件,进行代码/文本的编写
既然是进行代码的编写,那么vim和vs这样的软件有什么区别呢?
vim首先只能进行代码的编写,修改。但vs除了编写代码外,还可以进行代码的调试,代码的汇编查看等一系列功能,我们把这种功能全面的开发环境称之为IDE集成开发环境。这一点是vim没法做到的,但是我们可以一点一点配置vim使其增加不同的功能。
vim编译器这样局限,为什么要学习呢?直接在vs上编译不就好了?
vim编译器虽然没有可视化的图形等,在开发层面上的效率不如vs,但vim的操作学会后对于其他编译软件学习基本是零成本的,因为其他编译软件基本就是vim的功能的部分包含。

vim_42">2.vim的使用:

vim_43">1.以vim形式打开文件:

我们前面学过一种打开文件的方式nano,今天我们以vim形式打开文件,vim和nano的不同在于,vim是一种多模式可互相切换的编译器,而nano单纯是按照文本文件来处理一个文件。

2.退出文件:

将文件切换到底行模式,然后输入wq(保存加退出)即可保存当前的文件内容同时退出文件,倘若wq输入后警告,则强制使用**wq!**强制退出即可,当然w保存退出,q退出加上叹号这些同理。
既然谈到了模式,那么下面就让我们来谈一谈vim的各种模式:

vim_48">3.vim的各种模式(重要!!!!):

vim的模式常见的有这样几种:
1.命令模式
2.底行模式
3.插入(编辑)模式
4.视图模式
5.替换模式
他们之间的关系可以这样体现:
在这里插入图片描述
通过这张图,我们就知道了每一个模式之间是如何进行切换的,在这里我们发现,底行模式,插入模式,视图模式和替换模式这些是没法相互之间转换的,必须先转换为命令模式才可以,所以,命令模式就是vim最核心的模式,在这里我提一下命令模式切换到插入模式的a,i.o分别为:
1.a光标后移进入insert模式
2.o光标换到下一行进入insert模式
3.i光标从头开始进入insert模式

这三种模式都可以使用,差别不大,所以我们日常直接i进入插入模式即可
接下来,让我们一个一个模式介绍他们的指令:

1.插入模式:

在这里插入图片描述
插入模式没什么特别的指令,我们只需要像之前那样写代码即可

2.底行模式:

在这里插入图片描述

1.wq指令:用来保存退出,强制执行加!即可。
2.set number/nu:设置行号
3.set nonu.nonumber:取消行号
4.在底行模式下加叹号,可以直接执行翻译等指令且不用退出
5./+搜索关键字:找到带有关键字的语句,按住n即可向下依次寻找
6.help vim-modes/help modes:查看当前的vim版本
6.vs+文件名:即可同时多个文件同时书写,注意,无论打开多少个文件,光标只有一个,任何指令作用于光标存在的那个文件上

3.命令模式:

在这里插入图片描述
在我们vim打开文件的时候,默认的就是命令模式。在这里我们带颜色是因为我安装了vim的配置包。实际上裸的LINUX应该是黑白的,命令模式最关键的地方在于,不同于鼠标,LINUX利用键盘就可以锁定代码的位置。
首先让我们记住一句话,对于任何操作系统: 光标在哪里,信息就向哪里写,故我们首先就要学会控制光标。
1.光标定位:
1.光标定位到最开始:gg
2.光标定位到最后一行:shift+g
3.光标定位到具体一行:数字n+shift+g
4.一行的结束位置:shift+4($)
5.一行的开始位置:shift+6(^)
2.光标移动:
向上:k/向上键
向下:j/向下键
向左:h/向左键
向右:l/向右键
向右以单词形式跨越:w(遇到字符按字符跨越)
向左以单词形式跨越:b(遇到字符按字符跨越)
3.对文本进行增删查改:(这也是文本编译器的核心工作)
1.yy:复制当前行
2.n+yy:复制从此行开始的n行内容
3.dd:剪切当前行
4.n+dd:剪切从当前行开始的n行内容
5.n+yw:复制单个n个字母的单词
6.p:粘贴(包括剪切的和复制的都可以粘贴)
7.n+p:粘贴几次
8.u:对上一步的命令进行撤销,但更准确的说,是返回到上一步的操作状态,同时也正好起到了撤销的作用
9.shift+~:文本的大小写相互转换(大写转小写,小写转大写)
10.r+单个字符:替换光标所在的字符
11.n+r+字符:替换几个字符变成指定字符
12.切为替换模式:从光标之后的字符会被连续输入的字符替换
13.插入:切换到insert模式即可
14.n+x:向后删除一个字符/n个字符
15.撤销u命令:ctrl+r恢复u之前的状态
16.shift+3(#):查找并跳转至含有多个光标字符的位置,并且一般配合n来使用,n同单词进行跳转
17.ctrl+ww:在多个界面之间进行跳转
18.注释:首先我们先切换到视图模式:
然后通过jkhl来选定我们的范围,注意,视图模式中移动是以面的形式展开,然后shift+i 打// ESC返回到命令模式后即可看到注释的标识符
删除注释的方法:进入视图模式,选中带有注释的位置,直接d即可

vim_114">3.vim的配置:

上面的指令讲完,我们就已经具备操作vim写程序的能力了,你可以像在VS上自由自在的写程序,但vim的缩进和换行依旧糟糕,这就需要我们手动配置一下vim的一些功能。
首先,让我们在我们的普通用户的家目录下创建一个隐藏文件**.vimrc**
vim启动的时候,会自动扫描当前用户家目录下的.vimrc,让.vimrc内部的选项生效,vim配置,其核心就是向.vimrc里面添加更多的配置选项即可。
有了这个,我们就可以让我们的vim有了各种插件和功能,让其具备和vs一样的功能。

补充知识点:
如何将普通用户添加到sudo白名单列表里,让其能以root身份执行指令呢?
首先切换到root用户,vim /etc/sudoers配置文件中,vim进入:在文件的100行左右,如下:
在这里插入图片描述
在这里,按照格式,添加上你的用户名,这个用户就被添加到白名单里面了,这样就可以执行sudo指令了!

总结:

以上便是我们LINUX的开发工具vim的使用方法,希望通过这篇文章,能够让你直接在LINUX的文件中写下你想要的代码。


http://www.niftyadmin.cn/n/5169876.html

相关文章

GRPC学习

GRPC元数据 在gRPC中,元数据(metadata)是用于在gRPC请求和响应中传递附加信息的一种机制。元数据是以键值对(key-value pairs)的形式组织的信息,它可以包含请求的上下文信息、安全凭证、消息传输相关的信息…

Paimon 与 Spark 的集成(一)

Paimon Apache Paimon (incubating) 是一项流式数据湖存储技术,可以为用户提供高吞吐、低延迟的数据摄入、流式订阅以及实时查询能力。Paimon 采用开放的数据格式和技术理念,可以与 ApacheFlink / Spark / Trino 等诸多业界主流计算引擎进行对接&#xf…

Oracle迁移(RAC变单机模式)

1.升级内核 systemctl stop firewalld systemctl disable firewalldrpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm yum --enablerepo"elrepo-kernel" list --showduplic…

Swift编写爬取商品详情页面的爬虫程序

以下是一个使用Swift编写的基本爬虫程序,该程序使用Selenium库模拟浏览器行为来爬取商品详情页面的内容。 import Foundation import Selenium// 设置爬虫ip信息 let proxyHost "duoip" let proxyPort 8000 let proxy SeleniumProxy(httpProxy: "…

海康Visionmaster-通讯管理:ModBus 通信发送非整型 数据的方法

Modbus 通信发送数据只能为 Int 类型,如下图所示: 可以发送 Int 和 Float 数据,如下图所示 通信设备配置如下: 发送事件配置如下: 通信管理界面显示有问题,显示为 Int 类型存在一定误导;可以…

Xshell安装+使用教程

简介 Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。 Xshell可以在Windows界面下用来访问远端不…

高斯过程回归 | GPR高斯过程回归

高斯过程回归(Gaussian Process Regression, GPR)是一种强大的非参数回归方法,它通过假设数据是从一个高斯过程中生成的来预测新的数据点。 高斯过程是一种定义在连续输入空间上的随机过程,其中任何有限集合的观测值都呈多变量高斯分布。 实现GPR的Python代码import numpy …

4 Paimon数据湖之Hive Catalog的使用

更多Paimon数据湖内容请关注:https://edu.51cto.com/course/35051.html Paimon提供了两种类型的Catalog:Filesystem Catalog和Hive Catalog。 Filesystem Catalog:会把元数据信息存储到文件系统里面。Hive Catalog:则会把元数据…