20145232韩文浩《信息安全系统设计基础》第2周学习总结
2016-09-25 20:31
274 查看
20145232《信息安全系统设计基础》第2周学习总结
教材学习内容总结
Vim编辑器,就像五笔输入,很多键要记住,当你真的习惯用它了,它的高效性就是不可估量了。删除命令
普通模式下输入x,删除第一个字符,输入.(小数点)会再次删除一个字符,除此之外也可以重复dd的删除操作输入N,N表示重复后面的次数,例如
输入10x,删除10个连续字符
输入3dd,将会删除3行文本
在普通模式下,你还可以使用dw或者daw(delete a word)删除一个单词,所以你可以很容易的联想到dnw(n替换为相应数字)表示删除n个单词
复制与粘贴
普通模式中使用y复制普通模式中,yy复制游标所在的整行(3yy表示复制3行)
普通模式中,y^ 复制至行首,或y0。不含光标所在处字符。
普通模式中,y$ 复制至行尾。含光所在处字符。
普通模式中,yw 复制一个单词。
普通模式中,y2w 复制两个单词。
普通模式中,yG 复制至文本末。
普通模式中,y1G 复制至文本开头。
普通模式中使用p粘贴
普通模式中,p(小写)代表粘贴至光标后(下)
普通模式中,P(大写)代表粘贴至光标前(上)
替换和撤销命令
输入r,并且输入b,a字符被b字符替换输入R替换字符,输入新字符串,输入完按ESC回到普通模式
输入cw 替换一个英文字(word),输入完按ESC回到普通模式
输入u 撤销上一次的操作
快速缩进
普通模式下输入15G,跳转到15行普通模式下输入>> 整行将向右缩进(使用,用于格式化代码超爽)
普通模式下输入<< 整行向左回退
普通模式下输入:进入命令行模式下对shiftwidth值进行设置可以控制缩进和回退的字符数
查找
普通模式下输入/然后键入需要查找的字符串 按回车后就会进行查找。 ?与/功能相同,只不过?是向上而/是向下查找。 进入查找之后,输入n和N可以继续查找 n表示继续查找,N反向查找普通模式下输入*寻找游标所在处的单词
普通模式下输入#同上,但 * 是向前(上)找,#则是向后(下)找
普通模式下输入g*同* ,但部分符合该单词即可
普通模式下输入g#同# ,但部分符合该单词即可
使用vim编辑多个文件
编辑多个文件有两种形式,一种是在进入vim前使用的参数就是多个文件。另一种就是进入vim后再编辑其他的文件。
同时创建两个新文件并编辑 vim 1.txt 2.txt
命令行模式下输入:n编辑2.txt文件,可以加!即:n!强制切换,之前一个文件的输入没有保存,仅仅切换到另一个文件
命令行模式下输入:N编辑1.txt文件,可以加!即:N!强制切换,之前文件内的输入没有保存,仅仅是切换到另一个文件
进入vim后打开新文件
命令行模式下输入:e 3.txt 打开新文件3.txt
命令行模式下输入:e# 回到前一个文件
命令行模式下输入:ls可以列出以前编辑过的文档
命令行模式下输入:b 2.txt(或者编号)可以直接进入文件2.txt编辑
命令行模式下输入:bd 2.txt(或者编号)可以删除以前编辑过的列表中的文件项目
命令行模式下输入:e! 4.txt,新打开文件4.txt,放弃正在编辑的文件
命令行模式下输入:f 显示正在编辑的文件名
命令行模式下输入:f new.txt,改变正在编辑的文件名字为new.txt
恢复文件
恢复方式,vim -r进入文档后
输入:ewcover 1.txt来恢复
可视模式
在普通模式下输入v(小写),进入字符选择模式,就可以移动光标,光标走过的地方就会选取。再次按下v会后就会取消选取。在普通模式下输入Shift+v(小写),进入行选择模式,按下V之后就会把整行选取,您可以上下移动光标选更多的行,同样,再按一次Shift+v就可以取消选取。
在普通模式下输入 Ctrl+v(小写),这是区域选择模式,可以进行矩形区域选择,再按一次Ctrl+v取消选取。
在普通模式下输入d删除选取区域内容
在普通模式下输入y复制选取区域内容
视窗操作
vim可以在一个界面里打开多个窗口进行编辑,这些编辑窗口称为vim的视窗。 打开方法有很多种,例如可以使用在命令行模式下输入:new 打开一个新的vim视窗,并进入视窗编辑一个新文件(普通模式下输入Ctrl+w也可以.
GCC的使用
源文件----------->预处理-------------->编译------------>汇编---------->链接---------->可执行文件
(filename.c)-----预处理器------------编译器------------汇编器--------连接器----------excutefile
gcc filename.c -o filename
1.预编译
gcc -E filename.c -o filename.i
此语句可以分成三步来执行
2.编译
gcc -c filename.i -o filename.o
此时生成的文件便是 二进制 的文件
3.链接
gcc filenmae.o -o filename
Makefile
Makefile带来的好处就是——“自动化编译”,一但写好,只需要一个 make 命令,整个工程便可以完全编译,极大的提高了软件的开发效率。make工具最主要也是最基本的功能就是根据makefile文件中描述的源程序至今的相互关系来完成自动编译、维护多个源文件工程。而makefile文件需要按某种语法进行编写,文件中需要说明如何编译各个源文件并链接生成可执行文件,要求定义源文件之间的依赖关系。
Makefile 基本规则
1、打开的gvim环境中输入i进入编辑模式,输入代码,保存为prog.c、 code.c、 code.h文件
2、输入vim Makefile,输入i进入编辑模式,输入代码并保存
3、输入make,进行自动化编译
4、执行./test查看结果
gdb调试
gdb主要调试的是C/C++的程序。要调试C/C++的程序,首先在编译时,必须要把调试信息加到可执行文件中。如:gcc -g hello.c -o hello g++ -g hello.cpp -o hello
使用GCC编译时要加“-g”参数,如果没有-g,将看不见程序的函数名和变量名,代替它们的全是运行时的内存地址。
GDB最基本的命令
gdb programm(启动GDB) b 设断点(要会设4种断点:行断点、函数断点、条件断点、临时断点) run 开始运行程序 bt 打印函数调用堆栈 p 查看变量值 c 从当前断点继续运行到下一个断点 n 单步运行 s 单步运行 quit 退出GDB display 跟踪变量值的改变 until 跳出循环 finish 跳出函数 help 帮助
使用gdb调试C
1、打开的gvim环境中输入i进入编辑模式,输入代码,保存为gdb.c文件
2、在XfceTerminal打开后的界面中输入:
gcc –g gdb.c -o testgdb,生成一个可执行文件testgdb
3、输入
gdb testgdb启动gdb
4、键入 l命令
(gdb) l相当于list命令,从第一行开始列出源码
5、设置断点:
(gdb) break 16:设置断点,在源程序第16行处;
(gdb) break func:设置断点,在函数func()入口处。
6、输入
(gdb) info break查看断点信息。
7、输入
(gdb) r运行程序,run命令简写
8、输入
(gdb) n单条语句执行,next命令简写。
9、输入
(gdb) c继续运行程序,continue命令简写。
10、输入
(gdb) p i打印变量i的值,print命令简写。
11、输入
(gdb) bt查看函数堆栈。
12、输入
(gdb) finish退出函数。
13、输入
(gdb) q退出gdb
教材学习中的问题和解决过程
git设置账户失败原因及解决:用户名为邮箱地址而不是学号昵称
本周代码托管截图
其他(感悟、思考等,可选)
本周掌握了vim的基本操作和使用,不过任何东西都要多练习孰能生巧。学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 16篇 | 400小时 | |
第一周 | 80/80 | 1/1 | 11/11 | |
第二周 | 130/210 | 1/2 | 18/29 |
参考资料
《深入理解计算机系统V2》学习指导相关文章推荐
- 20145232韩文浩《信息安全系统设计基础》第7周学习总结
- 20145232韩文浩《信息安全系统设计基础》第9周学习总结
- 20145232韩文浩《信息安全系统设计基础》第8周学习总结
- 20145232韩文浩《信息安全系统设计基础》第0周学习总结
- 20145232韩文浩《信息安全系统设计基础》第5周学习总结
- 20145232韩文浩《信息安全系统设计基础》第6周学习总结
- 20145232韩文浩《信息安全系统设计基础》第1周学习总结
- 20145232韩文浩《信息安全系统设计基础》第14周学习总结
- 20145232韩文浩《信息安全系统设计基础》第3周学习总结
- 20145230《信息安全系统设计基础》第2周学习总结
- 《信息安全系统设计基础》第2周学习总结
- 20145232韩文浩《信息安全系统设计基础》课程总结
- 20145309信息安全系统设计基础第2周学习总结
- 《信息安全系统设计基础》第2周学习总结
- 20145314郑凯杰《信息安全系统设计基础》第2周学习总结
- # 20145220《信息安全系统设计基础》第2周学习总结
- 信息安全系统设计基础第三周学习总结
- 20135202闫佳歆-信息安全系统设计基础第三周学习总结
- 20135337——信息安全系统设计基础第二周学习总结
- 信息安全系统设计基础第二周学习总结