Vim基本模式
- Normal模式
- Insert模式
Vim常用模式
Command-line模式
Visual模式
操作 含义 V 按行选择的Visual模式 v 按字符选择的Visual模式 <c-v> 按块选择的Visual模式
GCC
选项 | 含义 |
---|---|
-x language | 明确指定后续输入文件的语言,而不是通过文件的扩展名来默认选择 |
-c | 编译或汇编源文件,但不做链接动作 |
-S | 编译后就停止,不进行汇编 |
-E | 预处理后就停止,不进行编译 |
-ansi | 等价于-std=c90 |
–ffreestanding | 按独立环境编译,包含声明的”-fno-builtin”,而且对main函数没有特别要求 |
-fsyntax-only | 检查代码中的语言错误,但是不产生输出信息 |
-w | 屏蔽所有警告信息 |
-Werror | 将所有警告当做错误处理 |
-Werror= | 将制定警告当做错误处理 |
-Wall | 打开所有类型的语法警告 |
-nostdinc | 不在标准系统目前下搜索头文件 |
-nodefaultlibs | 链接时不使用标准系统库 |
-nostdlib | 链接时不使用标准系统启动文件和库 |
-nostartfiles | 不链接标准系统启动文件 |
-s | 去除可执行文件所有的符号表和重定位信息 |
-e | 指定程序入口点,一般是从程序中的_start标号开始 |
-Wl,-Map | 指示ld输出可执行文件 |
-save-temps | 保存所有GCC编译时生成的临时文件 |
-fno-ident | 禁止GCC在可执行文件末尾生成编译器信息 |
-fno-stack-protector | 禁用栈保护,有些应用利用栈溢出进行攻击 ,对内核没有用 |
-march | 指定CPU架构 |
-mtune | 指定CPU型号 |
–verbose | 显示整个编译链接过程中的中间步骤 |
-fno-builtin | 除非利用前缀__builtin__进行引用,否则不使用GCC所有的内建函数 |
-M | 生成文件关联的信息 |
-MM | 忽略由#include造成的依赖关系 |
-MMD | 输出文件导入到.d文件中 |
find
选项 | 含义 |
---|---|
-mount | 不搜索其它文件系统的目录 |
-type | b:块设备文件 c:字符设备文件 d:目录 p:命名管道 f:常规文件 l:符号链接 s:套接字 |
正则表达式
操作符 | 含义 |
---|---|
? | 先前的项是可选的,做多匹配一次 |
* | 先前的项匹配0次或者多次 |
+ | 先前的项匹配1次或者多次 |
{n} | 先前的项匹配n次 |
{n,} | 先前的项匹配n次或者更多 |
{n,m} | 先前的项匹配至少n次,但不超过m次 |
文件重定向
命令 | 含义 |
---|---|
<&- | 关闭标准输入 |
>&- | 关闭标准输出 |
Make
自动化变量
变量 | 含义 |
---|---|
$@ | 规则的目标文件名 |
$< | 规则的第一个依赖文件名 |
$? | 所有比目标文件更加新的依赖文件列表 |
$^ | 规则的所有依赖文件列表 |
内嵌函数
函数 | 说明 |
---|---|
subst | 字符串替换 |
patsubst | 模式替换 |
strip | 去空格 |
findstring | 查找字符串 |
filter | 过滤 |
filter-out | 反过滤 |
sort | 排序 |
word | 取单词 |
wordlist | 取字串 |
words | 统计单词数目 |
firstword | 取首单词 |
dir | 取目录 |
notdir | 取文件名 |
suffix | 取后缀 |
basename | 取前缀 |
addsuffix | 加后缀 |
addprefix | 加前缀 |
join | 单词连接 |
wildcard | 获取匹配模式文件名 |