(Linux)嵌入式打卡第二天

Vim编辑器

  • vim编辑器本质上是一个文本编辑器,可编辑代码。
  • vim是 vi 的升级版本。
  • 使用方式:
  1.  vi filename
  2. vim filename

  vim界面介绍             

默认进入命令行模式,按 i 进入插入模式。

插入模式 按ESC 进入命令行模式。

vim编辑区分为:文本编辑区,文件名,底行命令编辑区,命令编辑区。

 命令行模式

识别命令,执行命令(复制粘贴,剪切......)

vim+文件名:默认进入命令行模式。

任意模式下 按ESC进入命令行模式。

命令详解:

        光标调整命令:

                G 光标跳转到结尾行;

                gg光标跳转到文件开头;

                上下移动->上下箭头即可;

                w 光标移动到下一个单词;

         大小写字母转换:shift + ~

        复制粘贴:

                yy 复制光标所在行内容;

                p 在光标所在行下面粘贴;

                P 在算光标所在行上面粘贴;

                np 向下粘贴n次;

                nP 向上粘贴n次;

                nyy 复制n行;

        剪切:

                dd 剪切光标所在行的内容;

                ndd 剪切n行;

                dG 删除光标后面所有行内容;

                        gg dG 删除文件中所有内容;

        撤销:

                u 撤销上一步操作;

                ctrl r 撤销上一步的撤销操作;

        代码对齐:

                全局对齐:底层命令行输入gg=G按回车即可;

                局部对齐:文本编辑区,点=再点要对齐的行即可;

        查找:

                /word回车        查找到的word高亮显示,(nohl 取消高亮);

                                        n 跳转到下一个高亮的词

                                        N 跳转到上一个高亮的词

插入模式

编辑文本

1.进入插入模式:

        1.1 在命令行模式下:使用 i I o O a A

                i 在光标所在位置的 前面 插入

                I 在光标所在行 行首 插入

                o 在光标所在行 下一行 插入

                O 在光标所在行 上一行 插入

                a 在光标所在位置的 后面 插入

                A 在光标所在行 行尾 插入

底行模式

       保存并退出文件等操作;

        1.在命令行按下 shift : 进入底行模式

        2.详解:

                2.1 保存退出:

                        :w 保存文件

                        :q 退出文件

                        :wq 保存并退出

                        :! 强制  一般配合wq使用 :wq!

                        :wqa 保存全部并退出;

                2.2 分屏文件

                        :vsp 文件名   左右分屏打开文件

                        :sp 文件名  上下分屏打开文件名

                2.3 行号显示

                        set nu        显示行号

                        set nonu    取消行号

                2.4高亮显示

                        nohl         取消高亮

                        /word        高亮显示word

                2.5底行模式下的复制,剪切

                        复制: m,ny回车        复制m到n行的内容

                        剪切: m,nd回车        剪切m到n行的内容

                3.6替换

                        局部替换:%s/原字符串/目标字符串 回车        将每一行第一个原字符串替换成目标字符串

                        全局替换:%s/原字符串/目标字符串/g 回车     将文件中所有原字符串替换成目标字符串

                        指定行替换:

                                m,ns/原字符串/目标字符串 回车         将m到n行的第一个原字符串替换成目标字符串

                                m,ns/原字符串/目标字符串/g 回车        将m到n行的所有原字符串替换成目标字符串

计算机体系   

C语言

计算机语言:二进制语言 0/1 即高低电平

GCC编译工具:将C语言编译生成一个二进制文件;

第一个C语言:

c语言文件: 以 .c结尾的文件

#include <stdio.h>
//# 预处理符号
//include 包含头文件的关键字
//<> 去系统的库里寻找头文件 /usr/incude
//stdio.h 只要用到输入输出就要用到此头文件

int main()//int 函数的返回值类型 整型
{         //main 主函数 C语言的入口函数
          //() 存放形式参数列表
          //{} main函数的代码块,{} 里面的内容全部属于main
          // printf 输出函数,向终端中输出一个字符串
    printf("hello world!\n");    //"hello world!\n" 需要输出的字符串
                                 //\n 换行
                                 // ; C语言的一个语句结束
    return 0;    //return 函数结束,开始返回
                 //0 程序执行成功
}

   GCC编译器             

gcc编译功能:

        将c语言文件编译生成一个 可执行的二进制文件;

一步到位编译法:

        gcc xxx.c -o  生成的二进制文件名        生成一个指定名字的可执行文件

        gcc xxx.c -o 默认生成名为a.out可执行文件

linux程序执行:

        ./可执行文件

gcc编译器分步编译

        预处理: 头文件展开,去除注释,宏替换(不会进行检错)

                gcc -E hello.c -o hello.i

        编译:语法分析,词法分析,语义分析(生成一个汇编文件)

                gcc -S hello.i -o hello.s

        汇编:将文件生成一个二进制文件

                gcc -c hello.s -o hello.o

        链接:链接库文件,生成可执行文件

                gcc hello.o -o hello

进制详解

十进制

十进制:计数时,逢十进一

功能:方便人类标识

组成:0 1 2 3 4 5 6 7 8 9

前缀:无前缀

二进制

十进制:计数时,逢二进一

功能:方便计算机识别

组成:0 1 

前缀:0b

进制之间的转换:

        十进制转二进制:辗转相除法

二进制转十进制

   

八进制

十进制:计数时,逢八进一

组成:0 1 2 3 4 5 6 7

前缀:0

进之间的转换:

        八进制转二进制:一个八进制数字 转为 3个二进制数字

        二进制转八进制:三个二进制数字 合成 一个八进制数字(从右向左合成)

十六进制

十进制:计数时,逢十六进一

组成:0 1 2 3 4 5 6 7 8 9 A B C D E F

前缀:0x

进制之间的转换:

        十六进制转二进制:一个十六进制数字 可以转换成 四个二进制数字

        0xaf -> 0b1010 1111

        二进制转十六进制:四个二进制数字 可以合成 一个十六进制数字(从右向左合成)

        0b1111 1010 1011 -> 0xfab

非数字类型计算机表示方法

        计算机只能识别二进制数字,实际编程会遇到人名,企业名,网址等信息,科学家发明一种ascii码,让字符与数字一一对应。

        linux中察看ascii吗:

                man ascii -> 查看ascii码

        常见的ascii码(十进制):单引号内是字符

                'A' -> 65   大小写转换 +/- 32

               'a' -> 97

                '\n'-> 10

                '\0' -> 0        字符串的结尾表示

                '0' -> 48         字符1转换为数字1 -> '1'-'0'即可

C语言

C语言的本质:对计算机内存的操作。

数据类型

数据类型:类似于模具,数据类型决定了每一个变量在内存中申请多大的空间。

1.基础类型

        char short int long float double

2.构造类型

        数组 结构体struct  共用体union  枚举enum

3.指针类型

        int*    char*    ......

4.空类型

void

基础类型

char类型

内存:1字节

存储:存储字符

符号位:char 默认是有符号的数据

                有符号char类型数据:最高位是符号位 , 0正  1负

                       范围:[-128,127]        127=2^7-1

                        规定1000 0000 为-128,最高位既是符号位也是数字位;

                unsigned char 无符号数据 八位全用来放数字

                        范围:[0,255]        255=2^8-1

short类型

内存:2字节

存储:short存储短整型,小型数字,例如年龄,电量等;

符号位:short 默认是有符号的数据

                有符号short类型数据:最高位是符号位 , 0正  1负

                        范围:[-(2^15),2^15-1 ] [-32767,32767]

                        规定1000 0000 0000 0000为-32767,最高位既是符号位也是数字位

                unsigned short 无符号数据 十六位全用来放数字,都是正数

                        范围:[0,2^16-1 ] [0,65536]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值