linux的一些开发工具

linux下常用的编辑器

1. Vim

vi编辑器是UnixLinux系统下标准的编辑器,以下是它的用法和一小部分指令。

Vim test.c//进入到命令模式

1)

命令模式中可以编辑,按“i”进入insert模式,可编辑

1. gg=G可调整格式

2.  esc 退出编辑模式

2)

1. 输入“:” 进入另一个模式,在低端  ,然后输“w”表示已经写入

显示已经保存后

1     光标定位到第一行

2. 输入 q表示退出命令模式

3. 输入“:x”代表保存并退出

4)

关于另一种模式的一些指令

j向下,K 向上,h 向左,L 向右

o代表在光标的下一行输入东西,也是进编辑模式

yy 拷贝 一行  3 yy拷贝三行  然后输入 p 拷贝成功

R 替换模式   ;  r 替换当前位置,回到命令模式

O 在光标的上一行输入东西,也是进入编辑模式

dd 删除一行  ddd删除上下三行  dw删除单词 (向前删)x 删除一个字符    db 删除光标所在位置到当前单词的尾部(向后删)

u 撤销上一条操作;K 跳转到库函数的帮助手册;J 将上一行拼接到上一行的末尾;$ 当前行的行尾;w  调到下一个单词

Ctrl+v进入可视化 (x 在可视化中删除  y 赋值)

ctrl+V 块可视化

b 调到上一个单词;} 调到下一个括号处;{ 调到上一个括号处;% 跳到对应的括号处

set nu 显示行号

/ 查找  n  上一个  N 下一个

起始行,末尾 s/旧的/新的/g  (替换内容)

:%s/新的/g   替换所有

vsp 分屏显示所有的文件;Ctrl +ww切换屏幕

r 将一个文件导入光标


2. Eclipse
   Eclipse是一款很酷的开源代码编辑器,它拥有代码高亮和智能提示等强大的功能。在Eclipse中,完全胜任以下编程语言的工作——Python, R, Ruby, JavaScript, Natural, Lasso, C, C++, COBOL, Scheme, Clojure, Groovy等等,它也是Java集成开发环境,甚至提供了对Java 8的支持。在一些Web开发IDE特性的帮助下,可以非常方便地对代码文件进行组织和访问

3.Brackets

以使用Theseus来检查变量,Brackets默认提供一种主题,也可以在扩展中心获取更多的Brackets也是一款为Linux开发者设计的开源代码编辑器,使用Brackets写代码,你不会被任何事情所打断。比如在写HTML代码时,即便你没有保存代码也可以及时预览你的Web页面效果。可主题。

4. Emaces

 

Emacs不仅仅是一个编辑器,他是一个整合环境,或可称它为集成开发环境,这些功能如让使用者置身于全功能的操作系统中。Emacs不仅可以作为文本编辑器,还可以用来收发电子邮件、通过FTP/TRAMP编辑远程档案、通过Telnet登录主机、上新闻组、登陆IRC和朋友交流、查看日历等功能

 

5. Light Table

 

 Light Table是一个免费开放源代码的编辑器,该编辑器有一个非常干净的界面,并有大量扩展。它与Windows、Mac和Linux都兼容,是高度可定制的。使用Light Table,开发者只需打开一个浏览器窗口即可实时查看更改,并且支持不同的嵌入。

6. Chocolat


  Chocolat本身是Mac OS X的最佳代码编辑器。该编辑器旨在与OS无缝集成,Chocolat为JS、Python和HTML提供拖放功能、拆分编辑、代码折叠和代码完成。
7.Sublime Text
   一个紧凑但性能较高的代码编辑器一个跨平台的代码编辑器,适用于所有WordPress项目。
Sublime Text有很多功能可以提供:
·脚本编程  ·自定义界面  ·常规文件切换  ·合成和错误检测  ·多媒体选择和编辑   ·外部插件集成   ·Themes

gcc 编译器

windows常用的都是vs 、vs,OSX用clang,clang的错误提示比其他要好很多语言支持比较好,但是编出来的程序性能比gcc差很多

1. 预处理

 diamond.c 文件

2.

Gcc -E diamond.c  预处理过程  -o diamond.i (已经预处理的文件)

3.编译

gcc -S diamond.i  编译成汇编语言  -o diamond.s(编译好的文件)

4.汇编

gcc -C diamond.s  汇编语言         -o diamond.o(二进制代码)

5. gcc 内部调用了

cc1 as collect2   

cc1 编译器;as 汇编器;collect2  链接器

 

gdb 调试

在调试时,加-g是为了调试,不加可以运行,但是不可以调试

------->gdb l 1     查看源代码(list)(进度条代码)

 1 #include

  2 #include

  3

  4 int jd()

  5 {

  6     int rate = 0;

  7     char buf[102];

  8

  9     memset(buf,'\0',sizeof(buf));

 10     const char* flag = "|/-\\";

 11

 12     while(rate <= 100)

 13      {

 14          buf[rate] = '='; -------> gdb 14

 15          printf("[%-101s][%d][%c]\r",buf,rate,flag[rate%4]);

 16          fflush(stdout);

 17          rate++;

 18          usleep(100000);

 19       }

gdb b 14   设置断点在14(break)

gdb i b(info break) 查看断点

gdb b jd在函数上设置断点

gdb r 程序执行   gdb s 单步执行

gdb n 执行下一句,next 简写

进度条结果图  

[=====================================================================================================][100][|]

 

Linux下的安装

1源码安装方式是需要自己到网上下载源码包,然后解压安装。此方式可以指定配置参数,更加灵活方便,兼容性更强。比较适合对Linux系统有较多了解的进阶用户使用。

2rpm安装就是:安装别人编译好的软件包

rpm即Redhat Package Manager,Redhat的软件包管理方式,适用rpm install 命令

rpm不仅已经把软件源代码编译成二进制文件,而且还对软件包依赖的软件,系统环境等做了统计

文件扩展名:rpm 
还有一种SRPM:没有编译成二进制文件,但是也包含rpm的特性 
rpm方式安装软件,如果依赖的软件没有事先安装,软件无法安装成功。 
为了解决这个问题,推出yum方式。

3yum安装

既然依赖的软件没有安装在机器上,那么就先安装依赖的软件,在安装我需要安装的软件。因此yum在安装软件同时安装依赖软件。因此需要一个yum源来放依赖的软件源,对比被安装机器上rpm软件库。

归根到底,yum也是基于rpm的。

 

 

 

 

 

 

 

你可能感兴趣的:(linux的一些开发工具)