Linux基础——Linux开发工具(上)_vim

前言:在了解完Linux基本指令和Linux权限后,我们有了足够了能力来学习后面的内容,但是在真正进入Linux之前,我们还得要学会使用Linux中的几个开发工具。而我们主要介绍的是以下几个:

yum, vim, gcc / g++, gdb, make / makefile, git

首先让我们来初步了解一下本篇的内容:
1. 学习yum工具,进行软件安装
2. 掌握vim编辑器使用,学会vim的简单配置

本篇主要内容:

Linux 软件包管理器 - yum

Linux 编辑器 - vim

Linux开发工具

  • [1. Linux 软件包管理器 - yum](#1. Linux 软件包管理器 - yum)
    • [1.1 什么是软件包](#1.1 什么是软件包)
    • [1.2 安装软件](#1.2 安装软件)
    • [1.3 卸载软件](#1.3 卸载软件)
  • [2. Linux 编辑器 - vim](#2. Linux 编辑器 - vim)
    • [2.1 什么是vim](#2.1 什么是vim)
    • [2.2 vim下的命令模式指令](#2.2 vim下的命令模式指令)
    • [2.3 vim下的底行模式指令](#2.3 vim下的底行模式指令)
    • [2.4 vim下的替换模式](#2.4 vim下的替换模式)
    • [2.5 vim下的视图模式](#2.5 vim下的视图模式)
    • [2.6 vim下的多文件编辑](#2.6 vim下的多文件编辑)
    • [2.7 vim的简单配置](#2.7 vim的简单配置)
  • [3. 总结](#3. 总结)

1. Linux 软件包管理器 - yum

1.1 什么是软件包

首先在开始时,了解一下软件包是什么。

  1. 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.
  2. 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装.
  3. 软件包和软件包管理器, 就好比 "App" 和 "应用商店" 这样的关系.

yum是Linux下非常常用的一种包管理器. 主要应用在Fedora, RedHat, Centos等发行版上,也就是我们本篇需了解的软件包管理器!yum的功能就是搜索并下载需要的软件包

注意:一个服务器不能在同一时刻同时安装多个软件,而且使用yum必须联网!

我们也可以查看一共有哪些软件包:

指令:yum list

因为Linux下的软件包十分多,我这里就不演示了,如果想要精确查找软件包我们可以:

指令:yum list | grep 关键字

grep指令筛选出所有包含关键字的包,然后用之前讲过的管道符|连接

这个时候就是会输出我们查找的那个。


1.2 安装软件

如果我们想在Linux下安装软件包我们可以:

指令:yum install 软件包名

使用这条指令后,输入y确定下载查看到complete就说明下载完成
注意:

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

所以我建议大家安装软件时都加上sudo来提权!


1.3 卸载软件

在Linux中卸载软件和安装软件差不太多:

指令:yum remove 卸载的软件

使用这条指令后,输入y确定下载查看到complete就说明下载完成

安装和卸载一样,我建议大家运用时都加上sudo来提权!

但是为什么我们在明明安装软件的时候要输入密码却在卸载时不用呢?

因为在Linux中,只要输入成功过一次密码,在短时间内就不用输入第二次

2. Linux 编辑器 - vim

2.1 什么是vim

复制代码
Vim是一个高度可定制的文本编辑器,它是从Vi发展而来的加强版本,兼容Vi的所有指令。Vim不仅具有编辑文本的功能,还具备shell程序编辑的功能,可以使用不同颜色的字体来辨别语法的正确性,极大地方便了程序的设计和编辑。Vim的代码补完、编译及错误跳转等方便编程的功能特别丰富,因此在程序员中被广泛使用。Vim的设计理念是命令的组合,用户可以通过学习各种文本间移动/跳转的命令和其他普通模式的编辑命令,并灵活组合使用,从而比没有模式的编辑器更加高效地进行文本编辑。Vim还针对程序员做了优化,包括支持正则表达式的搜索、轻松重复命令的能力、直接记录和执行宏、自动完成、文件合并、鼠标集成、拼写检查、语法突出显示、分支撤消/重做历史、支持流行网络协议和文件存档格式等功能。

vim的模式比较多,我们主要介绍常用的五种模式:命令模式、插入模式、底行模式、替换模式、视图模式

让我们用vim来简单编辑一个文件

首先:进入vim后默认为命令模式(正常模式),命令模式无法输入内容,此时我们需要输入字符来切换模式

输入模式

命令模式切换到输入模式可以按:a i o

a:默认定位至你光标的下一个位置

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

i:默认定位至你的光标处


其次:当我们想保存退出时,我们依然需要切换模式

底行模式

底行模式不能直接从输入模式切换,必须回到命令模式

所以我们要先从输入模式跳转到命令模式才能再跳转到底行模式

让我们来直观的看一下三种模式的联系

命令模式切换至底行模式

输入Shift + ;即可

插入模式或底行模式切换至命令模式

插入模式和底行模式切换至命令模式直接ESC即可

1、正常/普通/命令模式(Normal mode)

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode
2、插入模式(Insert mode)

只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁

的编辑模式。
3、底行模式(last line mode)

文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模

式。要查看你的所有模式:打开vim,底行模式直接输入


2.2 vim下的命令模式指令

让我们来了解一下命令模式的命令,在熟悉这些命令后,再之后能让我们更加高效

以下操作将不会演示,希望大家能一边看,一边操作一遍!!!


以下指令需要在命令模式下使用!
【移动光标】

光标的上下左右移动

h : 左移

j : 下移

k : 上移

l : 右移
定位至代码的第一行
指令: gg
定位至代码的最后一行
指令: shift + g
定位至代码的任意一行
指令: n + shift + g
定位指定行的开始
指令: shift + 6 >> ^
定位指定行的末尾
指令: shift + 4 >> $
向光标下移动n行
指令: n + enter
跳过光标处的一个单词至下一个单词开头
指令: w
跳过光标处的一个单词至下一个单词结尾
指令: e
回退光标处的一个单词至上一个单词开头
指令: b

注意:如果遇见的字符不构成单词,则一格一格的跳


在了解完光标的移动后,我们能快速定位,这让我们能更快使用其他指令

以下指令需要在命令模式下使用!
【其他操作】

复制当前行或n行
指令: yyn + yy
粘贴到当前行或粘贴n次
指令: pn + p
撤销上一步操作
指令: u
撤销上一步撤销
指令: ctrl + r
删除当前行或n行

指令:ddn + dd
向后/前剪切n个字符
指令: n + xn + X(注意大小写)
大小写相互转换
指令: ~ >> (shift + `)

当我们认真学习,熟悉了各个操作后,效率会大大提升!!!


2.3 vim下的底行模式指令

在使用底行模式之前,记住先按「Esc」键确定你已经处于命令模式,再按 shift + ; 即可进入底行模式。
以下指令需要在底行模式下使用!

设置行号
指令: set nu
取消行号
指令: set nonu
保存然后退出
指令: wq

有时我们还需要配合来使用,表示强制

w:保存当前文件

w!:强制保存

q:退出

q!:强制退出

wq!:强制保存并退出


查找字符
指令: /关键字

查找字符会将所有出现的关键字标亮,可以按n跳到下一个关键字位置!


执行指令
指令: ! + 指令

若想在vim的情况下使用指令,可以在!后输入想执行Linux的指令,例如查看目录等。


2.4 vim下的替换模式

替换模式的出现是为了方便我们对代码的修改,进入替换模式,我们可以直接在原来的代码上修改,而不需要进入先删除再添加。

进入替换模式
指令: shift + r

进入替换模式后,输入将会直接替换!


2.5 vim下的视图模式

当我们在Linux下,需要进行多行注释或者取消注释时,如果一行一行的删除,是费力不讨好的,所以我们可以进入视图模式下,快捷操作

进入替换模式
指令: ctrl + v

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

注释:

在进入视图模式后,j, k 移动选取注释行,SHIFT + i , 然后ESC即可注释选取行


取消注释

在进入视图模式后,j, k 移动选取注释行,然后按d删除'/'

注意:在取消注释时,如果只选取了一个'/',那就是只删除一个。


2.6 vim下的多文件编辑

裸的vim可以同时打开多个文件

在底行模式下输入: vs 文件名


注意:无论打开多少个文件,光标所在的文件永远是当前文件!

当然,我们也可以用指令来切换当前文件:

指令: ctrl + ww


2.7 vim的简单配置

配置文件的位置

在目录/etc/下面,有个名为.vimrc的文件,这是系统中公共的配置文件。vim在启动时会自动扫描当前用户家目录下的.vimrc文件!

vim配置的核心就是向.vimrc中添加更多的配置选项
因为现在的vim没有自动换行也没有缩进和括号补齐,并不算是一个合格的C/C++代码编辑器。因为vim的配置比较复杂,某些vim配置还需要使用插件。这里我建议参考大佬写的全套vim配置

vim配置

里面详细介绍了vim的安装配置以及卸载!

安装方法放在这里

cpp 复制代码
curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

配置完成后,写代码将会和vs下一样轻松很多

3. 总结

本篇我们学习了很多指令,很多,看一遍,敲一遍不一定能完全记住,需要下来用心来慢慢记忆!



谢谢大家支持本篇到这里就结束了

相关推荐
跃渊Yuey12 分钟前
【Linux】线程同步与互斥
linux·笔记
舰长11514 分钟前
linux 实现文件共享的实现方式比较
linux·服务器·网络
zmjjdank1ng29 分钟前
Linux 输出重定向
linux·运维
路由侠内网穿透.31 分钟前
本地部署智能家居集成解决方案 ESPHome 并实现外部访问( Linux 版本)
linux·运维·服务器·网络协议·智能家居
VekiSon1 小时前
Linux内核驱动——基础概念与开发环境搭建
linux·运维·服务器·c语言·arm开发
zl_dfq1 小时前
Linux 之 【进程信号】(signal、kill、raise、abort、alarm、Core Dump核心转储机制)
linux
Ankie Wan1 小时前
cgroup(Control Group)是 Linux 内核提供的一种机制,用来“控制、限制、隔离、统计”进程对系统资源的使用。
linux·容器·cgroup·lxc
skywalk81632 小时前
尝试在openi启智社区的dcu环境安装ollama最新版0.15.2(失败)
linux·运维·服务器·ollama
zhengfei6112 小时前
AutoPentestX – Linux 自动化渗透测试和漏洞报告工具
linux·运维·自动化
我材不敲代码2 小时前
在Linux系统上安装MySQL
linux·运维·服务器