
Linux第二次实验(第三周)
学习目标
- 熟悉Linux系统下的开发环境
- 熟悉vi的基本操作
- 熟悉gcc编译器的基本原理
- 熟练使用gcc编译器的常用选项
- 熟练使用gdb调试技术
- 熟悉makefile基本原理及语法规范
- 掌握静态库和动态库的生成
VI的使用
1.VI的模式
(1)命令行模式
(2)插入模式
(3)底行模式
2.VI的基本流程
(1)进入vi,即在命令行下输入"vi hello",进入命令行模式。
(2)在命令行模式下输入i进入插入模式。
(3)在插入模式中,按"Ese",将当前模式转入命令行模式,并在底行行中输入":wq"(存盘退出)进入底行模式
3.vi功能键的学习过程:
h:左移光标
j:下移光标
k:上移光标
l:右移光标
在命令行模式中:
i:切换到插入模式,在目前的光标所在处插入输入的文字,已存在的文字会后退
x:删除光标所在为止的一个字符
a:切换到插入模式,并从目前光标所在为止的下一个位置开始输入文字
vim 文件名: 进入Vim编辑器
dw:从当前光标删除至下一个单词的起始处,不包括它的第一个字符
d$:从当前光标删除至行末
de:从当前光标删除至单词末尾,包括最后一个字符
**对于中文的操作是否也是如此?
0:光标移动至行的开头
$:光标移动至行的结尾
e:光标移动至所在处下一个单词尾部
ne:光标移动至所在处下n个单词尾部
w:光标移动至所在处下一个单词开头
nw:光标移动至所在处下n个单词开头
**若所需移动的单词本行不足以提供时会怎样? 答:下一行的单词将用以拼凑
**用d0,d$来加深理解
dd:删除当前行
ndd:删除光标所在处往下n行(包括自己)
u:撤销最后执行的命令,相当于windows中的ctrl+z
U:撤销对整行的修改
ctrl+r:撤销掉撤销的动作
在正常模式下修改命令的格式:
operator [number] motion
operator - 操作符,代表要做的事情,比如d代表删除
[number] - 可以附加数字,代表动作重复的次数
motion - 动作,代表在所操作的文本上的移动,例如w代表单词(word),$代表行末等等
p:将最后依次删除的内容防止光标之后。(若删除的为行,则需要将光标移至需添加处的上方。若为仅为单词或字母,则可以需要将光标移至需添加出的左方。)
r和一个字符:替换光标所在为止的字符
R:多字符替换
ce:修改文本直到一个单词的末尾(相当于删除+插入的操作)
c [number] motion
c$:修改文本直至行末
**ce与cw的区别?
G:光标移动至文件最后一行
gg:光标移动至文件第一行
nG:光标移动至文件第n行
ctrl+g:显示当前编辑的文件名和文件中光标位置
/和一个字符串:在当前文件中查找该字符串
n:向光标所在处下方查找上一次的字符串
N:向光标所在处上方查找上一次的字符串
?相对于/为逆向查找
ctrl+0:回到之前的位置
ctrl+i:光标移动至较新的位置
%:查找配对的括号
v:进入可视模式
v+方向键:选取所需要进行操作的内容
o:在光标所在的下一行进入插入模式
O:在光标所在的上一行进入插入模式
y:复制
yw:复制一个单词
p:粘贴
[[ : 转到上一个位于第一列的"{"
]] : 转到下一个位于第一列的"{"
{ : 转到上一个空行
} : 转到下一个空行
gd 转到当前光标所指的局部变量的定义
在插入模式中:
完成后输入"Esc"退出编辑
在底行模式中:
输入":wq"存盘退出
输入":q!"放弃所有改动
输入"