【linux基础(五)】Linux中的开发工具(上)---yum和vim

💓博主CSDN主页:杭电码农-NEO💓

⏩专栏分类:Linux从入门到开通

🚚代码仓库:NEO的学习日记🚚

🌹关注我🫵带你学更多操作系统知识

🔝🔝


Linux中的开发工具

  • [1. 前言](#1. 前言)
  • [2. Linux软件包管理器:yum](#2. Linux软件包管理器:yum)
  • [3. linux上安装和卸载软件包](#3. linux上安装和卸载软件包)
  • [4. Linux中的编辑器:vim](#4. Linux中的编辑器:vim)
  • [5. vim下的底行模式详解](#5. vim下的底行模式详解)
  • [6. vim下的正常模式详解(上)](#6. vim下的正常模式详解(上))
  • [7. vim下的正常模式详解(下)](#7. vim下的正常模式详解(下))
  • [8. vim下的替换模式](#8. vim下的替换模式)
  • [9. vim下的视图模式](#9. vim下的视图模式)
  • [10. vim下的多线程操作](#10. vim下的多线程操作)
  • [11. 总结以及拓展](#11. 总结以及拓展)

1. 前言

理解了Linux基本指令和权限之后

终于开始了与代码相关的工具的使用

想必各位早已听说过vim的大名,这篇文章

将带你深入浅出vim的各种使用方法

本章重点:

本篇文章重点介绍vim文本工具的使用
以及vim的五种模式,并且带大家熟悉
Linux下的下载和卸载软件的指令:yum


2. Linux软件包管理器:yum

不要觉得yum有多神奇多深奥

yum其实就是一个软件,也可以叫商店

和你手机上的应用商店或app store一样

yum的功能就是搜索并下载需要的软件包

注:使用yum必须联网!

查看一共有哪些软件包

使用指令: yum list

由于Linux下的软件包十分多

所以可以使用以下指令来搜索关键字

使用指令: yum list | grep 关键字

比如我输入关键字lrzsz:


3. linux上安装和卸载软件包

使用指令: yum install 想安装的软件包名

使用这条指令后,输入y确定下载

查看到complete就说明下载完成了!

注意事项:

yum下载时往往会向系统目录写入内容
一般需要sudo或切换到root账号才能下载
yum在安装一共软件的过程中再安装其他
软件,此时yum会报错!

当你不知道你想要下载的软件叫什么名字时

可以无脑百度,百度上还有许多好玩的软件包


使用指令: yum remove 想要卸载的软件

这条命令和下载一样,最好使用sudo

或切换到root账号来操作


4. Linux中的编辑器:vim

vim可以理解为文本编辑器

就像Windows中的写字板一样

vim有大概12种模式,但是常用的有五种

本篇文章只讲解这五种模式

首先我们先创建一个.c文件来写C语言
然后vim此文件进入到vim编辑界面

vim进入文本编辑后默认是正常模式

正常模式无法输入内容,此时介绍第二种模式
输入模式

正常模式切换到输入模式可以按:a i o

三个键,a键默认定位至你光标的下一个位置

o键默认定位至你光标的下一列开头

然而i键默认定位至你的光标处

此时写一段简单的代码:

此时想要退出并保存此代码,需要第三个模式:
底行模式

底行模式不能从输入模式跳转
必须从正常模式跳转到底行模式
所以我们要先从输入模式跳转到
正常模式才能再跳转到底行模式

以下流程图帮你理解:

再来捋一下流程:首先进入文本编辑界面

时是正常模式,想要输入代码先按:a,i,o

切换到输入模式,输完代码后按ESC键

退出到正常模式,再按shift+;跳转到

底行模式进行保存



5. vim下的底行模式详解

切换到底行模式后,界面左下角有一冒号:

此时就进入到了底行模式,在写代码时

既没有自动换行和括号匹配,也没有行号

非常的不方便,这一点后面会一一解决

设置行号

在底行模式输入: set nu

取消行号

在底行模式输入: set nonu

保存并退出

在底行模式输入: wq

  • w:保存当前文件
  • w!:强制保存
  • q:退出
  • q!:强制退出
  • wq!:强制保存并退出

查找字符

在底行模式输入: /关键字

此关键字会语法高亮出来

若这个关键字不是你想找的内个

可以按n键跳到下一个关键字位置


除此之外,底行模式还有你意想不到的用处

它可以在不退出vim的情况下

输入并执行指令,并且在当前画面显示出来

比如输入:man printf

可以在底行模式查阅字典


6. vim下的正常模式详解(上)

正常模式的所有操作都是在
高效移动光标
请注意,将你的Linux放在旁边
一边看指令一般实践!

定位至代码的第一行

在正常模式下输入: gg

定位至代码的最后一行

在正常模式下输入: shift+g

定位至代码的任意一行

在正常模式下输入: n+shift+g

定位至特点一行的开始

在正常模式下输入: shift+6(^)

定位至特点一行的结尾

在正常模式下输入: shift+4($)

光标的上下左右移动

  • h键 : 左移
  • j键 : 下移
  • k键 : 上移
  • l键 : 右移

现在的键盘将hjkl键和上下左右
分离开来了,但是vim诞生时期较早
那时的键盘没有上下左右键
建议以后使用hjkl移动光标!

注:使用w和b可以一次性跳过/回退一个单词

若遇见的字符不是单词,则一格一格的跳


7. vim下的正常模式详解(下)

现在我们可以高效的移动光标了

那移动光标是为了啥?当然是为了执行

复制粘贴剪贴删除等操作!

复制当前行或n行

在正常模式输入: yyn+yy

粘贴内容到当前行或粘贴n次

在正常模式输入: pn+p

撤销上一步的操作

在正常模式输入: u

撤销上一步的撤销

在正常模式输入: CTRL + r

删除(剪切)当前行或n行

在正常模式输入: ddn+dd

向后/前剪切n个字符

在正常模式输入: n+小xn+大x

大小写互相转换

在正常模式输入: shift + ` (~)

不断向后转换,大写变小写,小写变大写

你可能会问,这些操作我可以在输入模式

下复制粘贴输入删除等等都可以完成

为什么还有学正常模式下的指令??

因为你这样不够优雅(bushi)
这是因为在熟悉了各个操作后,效率
会大大提升,甚至比在图形化界面还方便


8. vim下的替换模式

这个模式也是我们常用的模式之一

有时候,我们不想删除代码也不想

添加代码,只想在原先的代码上修改

比如将字符x修改为r,我们要先进入

插入模式再删除掉x再输入r,非常的不优雅

转换到替换模式

在正常模式输入: shift+r

在此模式下,所有的输入都会被当作替换!


9. vim下的视图模式

我们在用vs写代码时想要注释掉一块代码

非常任意,只需要选中所有代码并点击右上角

的一个键即可,但在Linux中,没有可视化界面
所以我们要依赖视图模式来帮助我们注释

切换为视图模式

在正常模式输入: CTRL +v

在左下角显示visual就代表进入了视图模式

先看以下视频来了解怎样注释:

可以总结为,用j,k选中要注释的行
选好后按shift+i进入插入模式
再输入//后按ESC退出,此时代码就被注释掉了

取消注释

进入视图模式,使用hjkl选中要取消注释
的区域,注意这里要选中前两列,否则只会
删除//的第一个/,选好后输入d,即可删除


10. vim下的多线程操作

vim文本编辑器可以同时打开多个文件

在vim的底行模式下输入:vs 想要打开的文件名

此时就可以打开另外一个文件

虽然说有多个文件,但是光标只有一个!

光标在哪个文件,现在就在编辑哪个文件

切换文件

使用指令: CRTL + ww

可以切换文件,进行不同的操作

可以在A文件复制内容并且拷贝到B文件


11. 总结以及拓展

Linux下的开发工具的使用主要是

在教大家怎样高效的Linux下进行编程

vim的多种模式大家要一一熟悉,不要依赖

输入模式修改所有代码,一个合格的程序员

vim必须玩的非常6!

本篇文章干货很多,需要下来慢慢记忆

指令大览

cpp 复制代码
yum list
yum list | grep 关键字
yum install ...
yum remove ...
vim 文件名.c
a,i,o进入输入模式
shift + ; 进入底行模式
CTRL + v 进入视图模式
shift + r 进入替换模式
CTRL + ww 切换文件
yy,dd,p,u等指令

vim配置的拓展

可以发现,虽然现在的vim可以写代码
但是写起来非常别扭,因为它没有自动换行
也没有缩进和括号补齐,所以还不是一个
合格的C/C++代码编辑器,我给大家推荐一个
网址,里面有vim配置的全套下载!

网址链接: vimforcpp

在确保你有curl指令的前提下,输入这行代码:

这时,所有常用的vim配置就下载好了

现在再打开你的.c文件写写代码

会发现现在和vs上写代码基本上是一样的了!


🔎 下期预告:Linux开发工具(下) 🔍

相关推荐
Mr. bigworth10 分钟前
Linux安装RabbitMQ
linux·运维·rabbitmq
稻草人ZZ19 分钟前
Keepalived部署
linux·服务器·网络·keepalived
乐维_lwops31 分钟前
双因子认证:统一运维平台安全管理策略
运维·服务器·安全
叫我龙翔1 小时前
【项目日记】仿mudou的高并发服务器 --- 实现缓冲区模块,通用类型Any模块,套接字模块
linux·运维·服务器·网络·c++
不撸先疯。1 小时前
docker镜像源配置、换源、dockerhub国内镜像最新可用加速源(仓库)
运维·docker·容器·dockerhub
誓约酱2 小时前
(动画)Qt控件 QLCDNumer
开发语言·c++·git·qt·编辑器
荼靡6032 小时前
shell(三)
linux·服务器·数据库
zym大哥大2 小时前
Linux的权限
linux·服务器
Stark-C2 小时前
功能齐全,支持协作 | Docker部署一款支持多人共享的私密浏览器『n.eko』
运维·docker·容器