2018-2019-1 20165237 《信息安全系统设计基础》第一周学习总结
Posted miss-moon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018-2019-1 20165237 《信息安全系统设计基础》第一周学习总结相关的知识,希望对你有一定的参考价值。
2018-2019-1 20165237 《信息安全系统设计基础》第一周学习总结
知识要点
基本操作
- 游标移动(在普通模式下,按Esc进入普通模式)
按键 | 说明 |
---|---|
h | 左 |
l | 右 |
j | 下 |
k | 上 |
w | 移动到下一个单词 |
b | 移动到上一个单词 |
- 进入插入模式(在普通模式下进入)
命令 | 说明 |
---|---|
i | 在当前光标处进行编辑 |
I | 在行首插入 |
A | 在行末插入 |
a | 在光标后插入编辑 |
o | 在当前行后插入一个新行 |
O | 在当前行前插入一个新行 |
cw | 替换从光标所在位置后到一个单词结尾的字符 |
- 命令行模式下保存文档
:
从普通模式输入:进入命令行模式,输入w
回车,保存文档。输入:w
文件名可以将文档另存为其他文件名或存到其它路径下。 - 退出vim(常用)
- 命令行模式下退出vim:从普通模式输入:进入命令行模式,输入wq回车,保存并退出编辑。
- 普通模式下退出vim:普通模式下输入Shift+zz即可保存退出vim。
- 普通模式下删除文本
命令 | 说明 |
---|---|
x | 删除游标所在的字符 |
x | 删除游标所在前一个字符 |
Delete | 同x |
dd | 删除整行 |
dw | 删除一个单词(不适用中文) |
d$或D | 删除至行尾 |
d^ | 删除至行首 |
dG | 删除到文档结尾处 |
d1G | 删至文档首部 |
ndd | 删除n行 |
- 替换和撤销(Undo)命令(只针对普通模式)
命令 | 说明 |
---|---|
r+<待替换字母> | 将游标所在字母替换为指定字母 |
R | 连续替换,直到按下Esc |
cc | 替换整行,即删除游标所在行,并进入插入模式 |
cw | 替换一个单词,即删除一个单词,并进入插入模式 |
C | 替换游标以后至行末 |
~ | 反转游标所在字母大小写 |
u{n} | 撤销一次或n次操作 |
U | 撤销当前行的所有修改 |
Ctrl+r | redo,即撤销undo的操作 |
- 快速缩进(普通模式)
- 使用命令进行快速调整缩进操作:通模式下输入
15G
,跳转到15行;普通模式下输入>>
整行将向右缩进(使用,用于格式化代码超爽);普通模式下输入<<
整行向左回退;普通模式下输入:
进入命令行模式下对shiftwidth
值进行设置可以控制缩进和回退的字符数。 shiftwidth
命令:shiftwidth
命令是指>>
命令产生的缩进(可以简写成sw
) 普通模式下输入:进入命令行模式;对shiftwidth
值进行设置可以控制缩进和回退的字符数。 获取目前的设定值:set shiftwidth?
;设置缩进为10个字符:set shiftwidth=10
。
- 使用命令进行快速调整缩进操作:通模式下输入
- 调整文本位置
- 命令行模式下输入:
ce
(center)命令使本行内容居中 - 命令行模式下输入:
ri
(right)命令使本行文本靠右 - 命令行模式下输入:
le
(left)命令使本行内容靠左
- 命令行模式下输入:
- 查找:
- 普通模式下输入
/
向下查找,输入?
向上查找,n
表示继续查找,N
反向查找 - 普通模式下输入
*
寻找游标所在处的单词 - 普通模式下输入
#
同上,但*
是向前(上)找,#
则是向后(下)找 - 普通模式下输入
g*
同*
,但部分符合该单词即可 - 普通模式下输入
g#
同#
,但部分符合该单词即可
- 普通模式下输入
No.1
要求:
- 每个.c一个文件,每个.h一个文件,文件名中最好有自己的学号
- 用Vi输入图中代码,并用gcc编译通过
- 在Vi中使用K查找printf的帮助文档
- 提交vi编辑过程截图,要全屏,包含自己的学号信息
截图
No.2
要求:
- 用gcc 进行预处理,编译,汇编,链接vi输入的代码
- 生成的可执行文件中要有自己的学号
提交预处理,编译,汇编,链接,运行过程截图,要全屏,包含自己的学号信息
截图
No.3
要求:
- 用gcc -g编译vi输入的代码
- 在main函数中设置一个行断点
- 在main函数增加一个空循环,循环次数为自己学号后4位,设置一个约为学号一半的条件断点
提交调试过程截图(一定包含条件断点的),要全屏,包含自己的学号信息
截图
No.4
要求:
- 除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,如何制作一个mymath.a静态库?main.c如何使用mymath.a?
提交静态库生成和调用过程截图(一定包含条件断点的),要全屏,包含自己的学号信息
截图
No.5
要求:
- 除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,如何制作一个mymath.so共享库?main.c如何使用mymath.so?
- 提交共享库生成和调用过程截图(一定包含条件断点的),要全屏,包含自己的学号信息
截图
No.6
要求:
写出编译上面vi编辑代码的makefile,编译出来的目标文件为testmymath, 只用显式规则就可以.
提交Make过程截图,要全屏,包含自己的学号信息
截图
码云链接
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 20篇 | 400小时 | |
第一周 | 61/61 | 1/1 | 10/10 | 了解vim,gcc,gdb基本操作 |
参考资料
以上是关于2018-2019-1 20165237 《信息安全系统设计基础》第一周学习总结的主要内容,如果未能解决你的问题,请参考以下文章
2018-2019-1 20165227 20165228 20165237 实验二 固件程序设计
2018-2019-1 20165227 20165228 20165237 实验四 外设驱动程序设计
2018-2019-1 20165227 20165228 20165237 实验四 外设驱动程序设计
20165237 2017-2018-2 《Java程序设计》第9周学习总结