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

简介: LINUX入门篇【4】开发篇--开发工具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这种用包含国内下载链接的仓库文件,替换同类型的文件即可,

2.vim gcc/g++:

1.介绍vim/vi:

不管是vim还是vi,他们的本质就是一款文本编译器指令软件,进行代码/文本的编写

既然是进行代码的编写,那么vim和vs这样的软件有什么区别呢?

vim首先只能进行代码的编写,修改。但vs除了编写代码外,还可以进行代码的调试,代码的汇编查看等一系列功能,我们把这种功能全面的开发环境称之为IDE集成开发环境。这一点是vim没法做到的,但是我们可以一点一点配置vim使其增加不同的功能。

那vim编译器这样局限,为什么要学习呢?直接在vs上编译不就好了?
vim编译器虽然没有可视化的图形等,在开发层面上的效率不如vs,但vim的操作学会后对于其他编译软件学习基本是零成本的,因为其他编译软件基本就是vim的功能的部分包含。

2.vim的使用:

1.以vim形式打开文件:

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

2.退出文件:

将文件切换到底行模式,然后输入wq(保存加退出)即可保存当前的文件内容同时退出文件,倘若wq输入后警告,则强制使用**wq!**强制退出即可,当然w保存退出,q退出加上叹号这些同理。

既然谈到了模式,那么下面就让我们来谈一谈vim的各种模式:

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即可

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的文件中写下你想要的代码。

目录
相关文章
|
15天前
|
自然语言处理 运维 开发工具
深入探讨了 NeoVim 相较于传统 Vim 的优势,包括更好的扩展性、现代化的界面和用户体验、多语言编程支持、强大的异步处理能力、更好的协作支持、持续的更新和改进、活跃的社区以及与现代开发工具的集成
本文深入探讨了 NeoVim 相较于传统 Vim 的优势,包括更好的扩展性、现代化的界面和用户体验、多语言编程支持、强大的异步处理能力、更好的协作支持、持续的更新和改进、活跃的社区以及与现代开发工具的集成。通过命令对比,展示了两者在启动、配置、模式切换、移动编辑、搜索替换、插件管理、文件操作、窗口缓冲区管理和高级功能等方面的差异。总结部分强调了 NeoVim 在多个方面的显著优势,解释了为什么越来越多的运维人员选择 NeoVim。
30 3
|
21天前
|
Unix Linux Shell
linux入门!
本文档介绍了Linux系统入门的基础知识,包括操作系统概述、CentOS系统的安装与远程连接、文件操作、目录结构、用户和用户组管理、权限管理、Shell基础、输入输出、压缩打包、文件传输、软件安装、文件查找、进程管理、定时任务和服务管理等内容。重点讲解了常见的命令和操作技巧,帮助初学者快速掌握Linux系统的基本使用方法。
55 3
|
2月前
|
机器学习/深度学习 安全 网络协议
Linux防火墙iptables命令管理入门
本文介绍了关于Linux防火墙iptables命令管理入门的教程,涵盖了iptables的基本概念、语法格式、常用参数、基础查询操作以及链和规则管理等内容。
230 73
|
1月前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
93 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
1月前
|
机器学习/深度学习 Linux 编译器
Linux入门3——vim的简单使用
Linux入门3——vim的简单使用
58 1
|
1月前
|
Linux Shell Windows
Linux入门1——初识Linux指令
Linux入门1——初识Linux指令
31 0
Linux入门1——初识Linux指令
|
2月前
|
存储 Linux Shell
常用vim命令和vim基本使用及Linux用户的管理,用户和组相关文件
这篇文章介绍了Vim编辑器的基本使用、常用命令和模式,以及Linux系统中用户和组的管理方法,包括用户和组相关文件如/etc/passwd、/etc/shadow和/etc/group的说明。
常用vim命令和vim基本使用及Linux用户的管理,用户和组相关文件
|
1月前
|
存储 数据可视化 Linux
Linux 基础入门
Linux 基础入门
|
1月前
|
Linux Go 数据安全/隐私保护
Linux入门2——初识Linux权限
Linux入门2——初识Linux权限
27 0
|
2月前
|
存储 Linux 开发工具
如何进行Linux内核开发【ChatGPT】
如何进行Linux内核开发【ChatGPT】
下一篇
无影云桌面