今天学习的主要内容是VIM编辑器的各类命令,以及C语言的历史
vim正常模式下的常用操作:
删除代码:
x 删除一个字符
nx 删除n个字符
dw/de 删除一个连续的字符串(区别是删不删后面的空格)
d$ 从光标处删除到行尾
d^ 从光标处删除到行首
dd 删除光标所在的一行
ndd 删除n行
dgg 从光标处删除到文件开头
dG 从光标处删除到文件末尾
nyy 复制n行
p 粘贴到当前光标下面
P 粘贴到当前光标上面
移动代码:
删除的代码内容还在粘贴板上,可以使用P/p粘贴到新位置,达到移动代码的效果(xp可以调换两个字符的顺序)
替换代码:
r 替换一个字符
cw 替换一个1单词
R/insert键 进入替换模式
撤销操作:
u 撤销上一次操作
u 撤销该行的所有操作
Ctrl+r 取消撤销操作
插入模式下的操作:
ctrl+p 自动补全
Ctrl+i 自动缩进,效果等同于Tab键
ctrl+j 相当于回车键
Ctrl+c 相当于Esc
自定义功能:
Ctrl+z 保存并退出
Ctrl+x 保存并编译运行
正常模式下:Ctrl+p 自动补全头文件和main函数
进入插入模式的方式:
i 在当前光标前面进入插入模式
I 在当前行的行首进入插入模式
a 在当前光标后面进入插入模式
A 在当前行的行尾进入插入模式
o 在当前行的下一行,插入一个空白行,进入插入模式
O 在当前行的上一行,插入一个空白行,进入插入模式
行底模式下的操作:
w 写入
q 退出
wq 保存退出
q! 强制退出
x 保存退出
x 加密,输入两次密码
输入:set key=Space 可以解密,注意:要wq保存退出才能有效!
!cmd 中途执行系统命令
%s/old/new 替换单词(一行只能替换第一个old)
/key 查找n查找下一个,N查找上一个
set nu 甚至行号
set nonu 取消行号
<n n行代码向左缩进一次
>n n行代码向右缩进一次
注意:所有在行底模式下的设置都只是临时有效,如果想要长期生效需要把设置语句写入到vim的配置文件中(~/.vimrc)
打开vim配置文件
vim ~/.vimrc
对vim的学习:
1.适可而止
2.适应两周左右时间
3.vimtutor vim帮助手册
c语言简介:
BCPL->newB->C->UNIX->Minix->Linux->gcc
C语言诞生于1970-1973年,在肯·汤姆逊和丹尼斯·里奇的合作编写下完成,归属于美国贝尔实验室。(丹尼斯·里奇>肯·汤姆逊)
C语言是专门为了编写操作系统而诞生的语言,C语言天生适合对硬件编程,以速度快而著称,也非常适合编写实现数据结构与算法。
C语言由于出现时间过早,有很多缺陷,设计者当初也没想到普通人也能使用C语言编程,因此存在着陷阱,但是前辈们总结了一些避免陷阱的经验
《C陷阱和缺陷》 《C语言三剑客》 《C程序设计语言》
C语言的语法很自由,自由源于自律
C89语法标准,也是gcc编译器默认的语法标准
C99语法标准,是对C语言的扩展和增强 -std=
一.第一个C语言程序:
#include <stdio.h>
程序员所编写的代码不是标准C代码,需要一段程序把它翻译成标准C代码,负责翻译的程序叫做预处理器,翻译的过程叫做预处理,被翻译的语句叫做预处理指令,以#开头的语句都是预处理指令
#include 的功能是把一个头文件导入到当前文件中
#include <> 从系统指定的路径下查找头文件,找到加载导入,找不到报错
#include "" 先从当前目录查找头文件,如果没找到,再从系统指定的路径下查找头文件,找到加载导入
stdio.h
头文件:以.h结尾的文件,里面存储的是一些辅助性的代码,绝大多数内容都是对函数的声明
源文件:以.c结尾的文件,里面主要是对函数的实现,功能性的代码
由C语言标准委员会为C语言提供的一套常用的基础功能,以函数形式存在,这些函数都被封装在libc.so库中
会有很多头文件负责对libc.so库中的代码进行声明,stdio.h是其中一个,其他string.h stdlib.h 等
stdio == standard input & output 负责对输入输出功能函数进行声明
int main()
{
printf ("hello world!\n");
return 0;
}
main函数:function
C语言以函数为最小单位来管理代码,一个函数就是一段具有某项功能的代码段
main函数是程序的执行入口,有且只有一个
int 是一种数据类型,表示main函数的执行结果是一个整数
return 有两个功能:
1.结束函数的执行
2.返回一个数据给函数的调用者
mian函数是由操作系统调用的,所以main函数的执行结果返回给操作系统
该执行结果反应了程序是如何结束的:
正数 出现异常 (别人的错误)
0 一切正常
负数 出现错误 (自己的错误)
可以通过echo $? 查看操作系统获取到的执行结果
printf/scanf 是标准库中的输出\输入函数,负责输出,输入数据,一般作为程序测试使用
转义字符:
键盘上一些无法直接打印的符号,会用一些特殊的字符来表示,这种特殊字符就叫做转义字符,\n就是其中之一
\n 换行
\t 制表符Tab
\b 退格键,退一个字符
\a 铃响
\r 回到行首
\\ 显示一个\
%% 显示一个%
C语言是以分号作为一行代码的结束,使用大括号作为划分代码区域
注意:分号不能乱加,也不要出现中文格式的符号