vim编辑器的基本操作:
在linux环境下输入vim 文件名就可以进入编辑模式.
上述四种模式必须退到命令模式才能进行下一个模式.
在编辑器中写完之后,输入ESC进入命令模式,然后再输入shift+:进入低行模式并输入wq保存并退出.
在命令模式下的操作:
光标所在行:1.输入yy进行复制, 输入p粘贴, 输入u撤销, 输入dd和p进行剪和切. n+dd和n+p进行多行剪和切.
光标定位:1.shift+g定位到结尾,2.gg定位到最开始,3.n+shift+g定位到第n行,4.shift+4光标快速定位到行尾.5,shift+6定位到行首,6.在光标位置处w按单词走,b按单词退.
在命令行:1.x(光标所在位置逐字符向后删除),2.n+x(光标所在位置删除n个字符),3.shift+x(光标所在位置向前删除),4.n+shift+x(光标所在位置向前删除n个字符),5.shift+~(光标所在位置大小写切换),6.r+字符(将原来的替换为字符),7.n+r+字符(将原来的替换为10个字符).
在插入模式下:
输入a/i进入插入模式.
输入o进入插入模式并另起一行.
在低行模式下:
输入set nu(调出行号).
set nonu(取消行号).
w(保存);q(直接退出);wq(保存并退出);wq!(强制保存并退出);q!(强制退出)
在命令行模式下进行注释:
ctrl+v => 按键k =>shift+i =>// =>ESC
ctrl+v =>n+shift+g =>shift+i =>// =>ESC(注释n行)
ctrl +v =>l(选中两列) =>往下拉 =>d(取消注释)
gcc编译运行代码:
方法1:gcc -o code code.c => ./code;
方法2:gcc code.c code =>./code;
gcc如何完成:
1.预处理(进行宏替换)
gcc -E code.c -o code.i(开始进行程序翻译,预处理完停下来)
2.编译(生成汇编)
gcc -S code.i -o code.s(开始进行程序翻译,编译完停下)
3.汇编(生成机器可识别的代码)
gcc -c code.c -o code.o)
4.连接(生成可执行文件)
gcc -o code code.o(目标文件和标准库进行关联,构成可执行程序)
自动化构建工具make/makefile:
make:一条命令.
makefile:一个文件.
用法如下所示:
1.touch Makefile(创建一个文件Makefile)
2.vim Makefile(对文件进行编辑)
3.在Makefile中输入:prop :prop.c(prop是目标文件,prop.c是依赖文件列表)[依赖关系]
gcc -o prop prop.c[依赖方法]
4.输入make
5.输入./prop运行程序
清理项目:(直接在Makefile中继续输入)
.PHONY:clean
clean:
rm -f prop
然后输入make clean进行清理
makefile文件会被make从上到下开始扫描,第一个目标是缺省要形成的.直接输入make即可,如果要执行其他依赖关系和依赖方法,要输入make+name
如下所示:
prop:prop.o
gcc prop.o -o prop
prop.o:prop.s
gcc -c prop.s -o prop.o
prop.s:prop.i
gcc -S prop.i -o prop.s
prop.i:prop.c
gcc -E prop.c -o prop.i
make解释makefile时会自动推导,一直推导,推导过程不会执行依赖方法,直到推导有依赖文件存在时然后逆向执行所有依赖文件
prop:prop.o
gcc prop.o -o prop
prop.o:prop.s
gcc -c prop.s -o prop.o
prop.s:prop.i
gcc -S prop.i -o prop.s
prop.i:prop.c
gcc -E prop.c -o prop.i
变形为:
prop:prop.o
gcc prop.o -o prop
prop.o:prop.c
gcc -c prop.c
变形为:
prop:prop.o
gcc prop.o -o prop
%.o:%.c
gcc -c $<
其中%.c指的是当前目录下所有.c文件展开到依赖列表中.
$<(依赖关系):右侧的依赖文件列表一个个的交给gcc -c选项,形成同名的.o文件.
变形为:
bin=proc
src=proc.c
$(bin):$(src)
gcc $^ -o $@
%.o:%.c
gcc -c $<
其中$^指的是所有依赖文件列表,$@指的是所有目标文件.