vim的使用方法

目前vs软件虽然非常好用方便,但是在学习初期我还是更倾向于使用vim,这样能让我学习的更加扎实。下面我来介绍一些vim的基本快捷键和使用语法

【vim】
vim hello.c 进入vim 如果文件不存在 则创建
输入i 进入插入模式 ,可以编辑文件
按esc 然后输入:X 【保存退出】
vim有三大主要模式
正常模式(菜单模式):vim刚进入的模式,适合阅读修改,有大量的快捷键可供使用
插入模式(编辑模式):输入i进入,适合编辑文件
行底模式(命令模式):输入:进入,可以执行一些命令,对vim进行一些设置

【正常模式下的快捷键】:
i 在当前光标前进行编辑
大写i 光标跳转到行首进入插入模式
a 在当前光标后进行编辑
A 光标跳转到行尾进入插入模式
o 在下面创建一个空白行进入插入模式
O 在下面创建一个空白行进入插入模式
x/del 删除一个字符
dw/de 删除一个单词
dd 删除一行
ndd 删除n行
D/d$ 从光标处删除到行尾
注意:删除后的内容还保留在缓存区中,按p粘贴出来,可以达到移动代码的效果

yy 复制一行
nyy 复制n行 配合p使用
u 撤销一次操作
U 撤销一行操作
ctrl+r 取消撤销操作

r 替换一个字符

cw/ce 替换一个单词

n+enter 下降n行
n+G 把光标移动到第n行
gg 回到文档开头
G 到达文件末尾
hjkl 光标上下左右移动
vim 文件名 +n 进入vim后到第n行

【插入模式下的快捷键】
ctrl+i 功能与tab键类似
ctrl+j 和enter功能一样
ctrl+c 跟esc功能一样
ctrl+n/p 自动补全

【行底模式下的快捷键】
w 保存
q 退出
wq 保存退出
x 保存退出
X 加密

set number 显示行号
set nonu 不显示行号
set ts=4 设置tab键的宽度
注意:行底模式下进行设置的只是临时有效,一旦vim重启就失效了
把设置命令写入到配置文件就可以长期有效,文件在主目录下 .vimrc
/关键字 【查找 n查找下一个 N查找上一个 】
%s/旧单词/新单词 【替换】
!命令 【执行linux系统命令】

【如何学习vim】
1.vim操作有点复杂,不是一学就会的
2.vim支持很多插件可以扩展,但不建议使用
3.ubuntu中有自带教程 vimtutor

【GNU编译器】
gcc编译器常见参数
-E -S -c -o
-Wall 以更严格的标准来检查代码
-Werror 把警告当错误处理
-g 加入调试信息,gdb
-O 编译代时的优化级别
-D 编译时定义宏

数据类型

同样的,我也顺便给大家介绍一些基本的数据类型
内建:
整形(char 1个字节 short 2个字节 int 4个字节 long 4/8个字节)
有符号(signed):他的最高位的二进制用来表示正负,这个位置也叫做符号位
signed char : -128~127 %hhd
signed short:-32768~32767 %hd
signed int: %d
signed long %ld
注意:signed 不加就代表加
无符号(unsigned):它的所有二进制位都用来表示数据
unsigned char : 0~255 %hhu
unsigned short: 0~65535 %hu
unsigned int: 0~4294967295 %u
unsigned long: 0~577731899414282239 %lu
注意:定义无符号变量时,unsigned必不可少,标准库对他们做了重定义
uint8_t uint16_t uint32_t uint64_t (与上面四个一一对应)
浮点型
单精度:float 4字节
双精度:double 8字节
高精度:long double 12/16字节
【%g】不显示多余的0
【%.nf】n:小数点后面显示多少位,多余的四舍五入
【%md】设置数据的宽度
【%0md】设置数据的宽度,不够补0
【%-md】左对齐,不够默认不空格
浮点类型在内存中以科学记数法表示,有特殊的格式,与整型相比计算速度比较慢,没有特殊要求,不建议使用
自建:
结构
联合
枚举
模拟:
字符型:所谓的字符就是由像素点组成的图案,正在在内存当中是以整数形式存储的,当需要显示字符时,按照ASCII码表中的对应关系显示符号
注意:字符型里面存储的就是整数,是计算机把他翻译成的字符
‘0’ 48
‘a’ 97
‘A’ 65
Char %c 以字符形式显示
%hhd 以整数形式显示

布尔型(bool):在代码中包含 stdbool.h 头文件就可以使用了
bool true false;
其他整型可以自动转换成bool类型,0转换为假false,非0转换为真true。

【常量与变量】
10 默认是int类型
3.14 默认是double类型
100u8 unsigned char
100u unsigned short
100U unsigned int
100l unsigned long
1.0f float
1.0lf long double

 目前打算是一周发一篇,来总结一下一周的学习经验,现在学习的还是一些较为基础的东西,下周可能会开始学习语法了。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值