目录

Linux学习篇-开发工具第一期

【Linux学习篇】–开发工具第一期


1.  Linux编辑器的使用–vim使用

vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 mac os、windows。

1.1  vim的基本概念

vim其实有好多模式,目前掌握这3种即可),分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)。

https://i-blog.csdnimg.cn/direct/cafd0ebada2c4af1a32ba476ccb99aa1.png

各模式的功能区分如下:

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

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

2.  插入模式(Insert mode)

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

3.  末行模式(last line mode)

文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入。

1.2  vim基本操作

进入vim,在系统提示符号输入vim及文件名称后,就进入vim全屏幕编辑画面:

https://i-blog.csdnimg.cn/direct/bee8178fa10d445aa75b2e042bf585a7.png

[正常模式]切换至[插入模式]

输入a

入i

入o

[插入模式]切换至[正常模式]

目前处于[插入模式],就只能一直输入文字,如果发现输错了字,想用光标键往回移动,将该字删除,可以先按一下「ESC」键转到[正常模式]再删除文字。当然,也可以直接删除。

[正常模式]切换至[末行模式]

「shift + ;」, 其实就是输入「:」

退出vim及保存文件,在[正常模式]下,按一下「:」冒号键进入「Last line mode」,例如:

w (保存当前文件)

: wq (输入「wq」,存盘并退出vim)

: q! (输入q!,不存盘强制退出vim)

1.3  vim正常模式(指令模式)命令集

插入模式

按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;

按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;

「o」进入插入模式后,是插入新的一行,从行首开始输入文字。

从插入模式切换为命令模式

按「ESC」键。

移动光标

vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、[ l ],分别控制光标左、下、上、右移一格

按「G」:移动到文章的最后

https://i-blog.csdnimg.cn/direct/71c7033ffe4e475b83afb5ac24a34314.png

删除文字

https://i-blog.csdnimg.cn/direct/580519ae02ec4335b51f844e5188d720.png

复制

https://i-blog.csdnimg.cn/direct/0c1a71d01ac94a4b99d6572b2dc33e76.png

替换

「r」:替换光标所在处的字符。

「R」:替换光标所到之处的字符,直到按下「ESC」键为止。

撤销上一次操作

https://i-blog.csdnimg.cn/direct/44968847fbcb4713963b5461b06eb22f.png

更改

https://i-blog.csdnimg.cn/direct/be55eacc24b24755845ee49b46044ed0.png

跳至指定行

https://i-blog.csdnimg.cn/direct/7f380f4e892c4bfb97db37483cf6b7ec.png

!!!但是上面的不用去死记硬背,主要常用的也就几个

https://i-blog.csdnimg.cn/direct/c286b6f2a7cf43b39cf9b4824436c67f.png

1.4  vim末行模式命令集

https://i-blog.csdnimg.cn/direct/4a26d4dc21654875a5666b3b637a38d8.png

常用:

https://i-blog.csdnimg.cn/direct/76573661eaf643f090b15f31c97412bd.png

1.5  vim配置

这里你可以自己配置vim,直接搜索vim配置和使用。网上有很多教程,但是较为麻烦。 我这里推荐使用插件,一站式远程安装好。

链接-> [vimplus: vim/Neovim configure for C/C++ on (MAC/Ubuntu/Deepin/Raspbian/UOS/LinuxMint/elementaryOS/Debian/Kali/Parrot/CentOS/fedora/openSUSE/ArchLinux/ManjaroLinux/Gentoo)

https://csdnimg.cn/release/blog_editor_html/release2.3.8/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=P1C7 “vimplus: vim/Neovim configure for C/C++ on (MAC/Ubuntu/Deepin/Raspbian/UOS/LinuxMint/elementaryOS/Debian/Kali/Parrot/CentOS/fedora/openSUSE/ArchLinux/ManjaroLinux/Gentoo)”)

点开这里有教程,请注意系统是否适合你

已经验证过的系统有 Ubuntu/LinuxMint/ArchLinux/ManjaroLinux
其他系统未经验证,可能会存在软件依赖或过时的问题

2.  Linux编译器-gcc/g++使用

2.1  背景知识

预处理(进行宏替换)

编译(生成汇编)

汇编(生成机器可识别代码)

连接(生成可执行文件或库文件)

2.2  gcc如何完成

1.预处理

https://i-blog.csdnimg.cn/direct/1414d146b1144b7988c7f2628478cd76.png https://i-blog.csdnimg.cn/direct/199a20de0bcf4f66bf268dd9786de4ae.png

2.编译

https://i-blog.csdnimg.cn/direct/e7b37ecde7e048869d897d3575b5caf0.png

https://i-blog.csdnimg.cn/direct/030ca6f78752461ba77198c805c58ab5.png

3.汇编 https://i-blog.csdnimg.cn/direct/4d0a402a554f4f598257c74575bc0aaa.png https://i-blog.csdnimg.cn/direct/3ba76cde048e413886a8d885feaf9029.png

4.链接

https://i-blog.csdnimg.cn/direct/6406771cb0cb4478a64d15823c0103b9.png https://i-blog.csdnimg.cn/direct/95c4c959e6764cb4b2971fabdf790f9b.png

2.3  gcc选择项

**-E 只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里面

-S 编译到汇编语言不进行汇编和链接

-c 编译到目标代码

-o 文件输出到 文件

-static 此选项对生成的文件采用静态链接

-g 生成调试信息。GNU 调试器可利用该信息。

-shared 此选项将尽量使用动态库,所以生成文件比较小,但是需要系统由动态库.

O0

-O1

-O2

-O3 编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高

w 不生成任何警告信息。

-Wall 生成所有警告信息。**