看着linux下面一篇文章也没有,我就来开个头吧。学成c/c++应该很多人会接触到linux,那么我们必须会使用上面的基本工具。
在linux上成套的ide有是有,但是更多的时候,人们用的更多的是vim , gdb,和gcc/g++,这三个工具分别是用来编辑,调试和编译的;
vim,做为linux上神级的编辑器不得不说,首先vim相对于一般的编辑器有点奇葩,vim的设计理念大家可以百度一下,这里就不说了,今天只讲讲怎么在vim下存活,vim和普通的编辑器的最大区别在于他又两种模式,一种是命令模式,在终端中启动vim就是默认的模式,在这个模式下你无法写文本,我们把他切换到插入模式,插入模式可以按字母 i 进行切换,当然还有和其他切换的按键,在插入模式下,左下角会有个insert单词好了当你写完代码后怎么保存呢,这时候就要切换到命令模式下了,切换按键是esc 切换后我们可以输入命令保存了。:w
冒号加w,就是保存了,保存之后:q是推出,也可以一起输:wq这样就保存并推出了;
键 |
功能 |
i |
在光标左侧输入文本 |
I |
在当前行的行首输入文本 |
a |
在光标右侧输入文本 |
A |
在当前行的行尾输入文本 |
o |
在当前行的下一行添加一个空行,光标放在新行的行首 |
O |
在当前行的上一行添加一个空行,光标放在新行的行首 |
作为神级编辑器当然不可能就这么点共能,我们来看看其他在命令模式下的命令了吧 。
光标移动键,命令模式下控制光标移动。
键 |
功能 |
h或[←] |
将光标向左移动一位 |
j 或[↓] |
将光标向下移动一行 |
k或[↑] |
将光标向上移动一行 |
i 或[→] |
将光标向右移动一位 |
$ |
将光标移动移到当前行的行尾 |
w |
将光标向右移动一个字,到下一个字的开头 |
b |
将光标向左移动一个字,到前一个字的开头 |
e |
将光标移到字尾 |
0 |
将光标移到当前行的行首 |
[Enter] |
将光标移到下一行的行首 |
[Space] |
将光标向右移动一位 |
[Backspace] |
将光标向左移动一位 |
文本修改键,只适用于命令模式
键 |
功能 |
x |
删除光标位置指定的字符 |
dd |
删除光标所在的行 |
u |
撤销最近的修改 |
U |
撤销对当前行上做的所有修改 |
r |
替换光标位置上的一个字符 |
R |
替换从光标位置上开始的字符,同时改变vim到文本输入模式 |
. |
重复上一次的修改 |
搜索命令
键 |
功能 |
/ |
向前搜索指定的字符串,搜索到后按n寻找下一个 |
? |
向后搜索指定的字符串,搜索到后按n寻找下一个 |
比如注释好几行内容的时候,我们可以按ctral+v,这时候你会看到你的光标所在的地方高亮显示,然后按上下左右键移动,会发现选中了好几行;选中你要注释的几行,选好后,用大写I在要注释的第一行插入//,然后esc你会发现选中的几行都被注释了,方便吧,好了,vim就说到这里;插件啥的,自己学去。
写完之后就要编译,linux上编译工具是gCC/g++,分别用来编译c和cpp的,加入写好了一个hello.c我们就在终端里,cd到那个hello.c所在的文件夹,输入gcc hello 这时就会生成一个a.out文件,输入./a.out就可以执行了。这是最基本的用法,g++就是g ++ hello.cpp,在linux下,大型工程不是这么编译的,那个时候就需要makefile了,至于makefile自己找教程学,我只是抛砖。gcc的更多用法,在终端里输入 man gcc就可以看到了。
下面开始介绍我们的调试工具,gdb 在ubuntu上直接命令安装 sudo apt-get install gdb ;安装完之后我们为您开始调试吧;这里需要注意一下,我们在编译时加个参数,不然调试看不到源码,gcc hello.c -g这样就可以了,gdb启动,在终端中输入gdb a.out,a.out就是上边生成的可执行文件,打开后啥都没有对不对,这时候输入list ,1 就可以从第一行开始显示源码了,然后找到一要下断点的地方,输入break x ;x->是行号,然后输入run就是让程序跑起来;更多的用法请参考gdb中文手册。
好了,虽然写的不多,至少让你知道一些基本操作,这三个东西太强大了,需要学习,不然是玩不好的,更多的需要自己找文档了。