【toos】工具篇

发布于:2024-05-03 ⋅ 阅读:(152) ⋅ 点赞:(0)

1 通用的makefile

编写一个makefile,可以将其所在目录下的所有独立 .c 文件编译生成同名可执行文件。

src = $(wildcard *.c)                    # 拿到所有*.c
target  = $(patsubst %.c, %, $(src))     # 将src中所有%.c替换成%
 
ALL:$(target)
 
%:%.c
        gcc $< -o $@
 
clean:
        -rm -rf $(target)
 
.PHONY:clean ALL

2 git相关

git init
git add .
git commit -m "first commit"
git remote add origin 仓库地址
git push -u origin master
git push -f origin master      # 强制

git diff HEAD -- readme.txt
git reset HEAD readme.txt

git log
git log --pretty=oneline

git reset --hard HEAD^
git reset --hard 1094a        # 指定版本

git switch master

3 linux下vim自动在c文件插入文件头

打开vim配置

vim ~/.vimrc 

插入以下代码

set nu
autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()"
"""定义函数SetTitle,自动插入文件头
func SetTitle()
"如果文件类型为.sh文件
if &filetype == 'sh'
call setline(1,"\#########################################################################")
call append(line("."), "\# File Name: ".expand("%"))
call append(line(".")+1, "\# Author: Winter")
call append(line(".")+2, "\#Created Time:".strftime("%c"))
call append(line(".")+3, "\#########################################################################")
call append(line(".")+4,"\#!/bin/bash")
call append(line(".")+5,"")
else
call setline(1, "/*************************************************************************")
call append(line("."), " > File Name: ".expand("%"))
call append(line(".")+1, " > Author: Winter")
call append(line(".")+2, " > Created Time: ".strftime("%c"))
call append(line(".")+3, " ************************************************************************/")
call append(line(".")+4, "")
endif
if &filetype == 'cpp'
call append(line(".")+5, "#include<iostream>")
call append(line(".")+6, "using namespace std;")
call append(line(".")+7, "")
call append(line(".")+8, "int main(int argc, char* argv[])")
call append(line(".")+9, "{")
call append(line(".")+10, "")
call append(line(".")+11, "     return 0;")
call append(line(".")+12, "}")
call append(line(".")+13, "")
endif
if &filetype == 'c'
call append(line(".")+5, "#include<stdio.h>")
call append(line(".")+6, "#include<stdlib.h>")
call append(line(".")+7, "#include<string.h>")
call append(line(".")+8, "#include<unistd.h>")
call append(line(".")+9, "#include<pthread.h>")
call append(line(".")+10, "")
call append(line(".")+11, "int main(int argc, char* argv[])")
call append(line(".")+12, "{")
call append(line(".")+13, "")
call append(line(".")+14, "     return 0;")
call append(line(".")+15, "}")
endif
"新建文件后,自动定位到文件末尾
autocmd BufNewFile * normal G
endfunc


网站公告

今日签到

点亮在社区的每一天
去签到