在linux下常用的编辑器
1. Vim
vi编辑器是Unix及Linux系统下标准的编辑器,以下是它的用法和一小部分指令。
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 将一个文件导入光标
3.Brackets
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系统有较多了解的进阶用户使用。
(2)rpm安装就是:安装别人编译好的软件包
rpm即Redhat Package Manager,Redhat的软件包管理方式,适用rpm install 命令
rpm不仅已经把软件源代码编译成二进制文件,而且还对软件包依赖的软件,系统环境等做了统计
文件扩展名:rpm
还有一种SRPM:没有编译成二进制文件,但是也包含rpm的特性
用rpm方式安装软件,如果依赖的软件没有事先安装,软件无法安装成功。
为了解决这个问题,推出yum方式。
(3)yum安装
既然依赖的软件没有安装在机器上,那么就先安装依赖的软件,在安装我需要安装的软件。因此yum在安装软件同时安装依赖软件。因此需要一个yum源来放依赖的软件源,对比被安装机器上rpm软件库。
归根到底,yum也是基于rpm的。