【toos】工具篇

devtools/2024/10/18 12:30:12/

1 通用的makefile

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

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

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.txtgit log
git log --pretty=onelinegit 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


http://www.ppmy.cn/devtools/27688.html

相关文章

模型剪枝-Network Slimming算法分析

代码见文末 论文地址&#xff1a;Learning Efficient Convolutional Networks through Network Slimming ICCV 2017 Open Access Repository 1.概述 由于边缘设备的限制&#xff0c;在模型的部署中经常受到模型大小、运行内存、计算量的限制。之前的方法要么只能解决其中一个…

中兴F7607P自启动程序,关闭JAVA插件

中兴F7607P自启动程序&#xff0c;关闭JAVA插件 本文目的&#xff1a;关闭光猫内自动运行的JAVA插件&#xff0c;并实现开机自动调用用户的程序启动 原文地址 移动定制版F7607P不带LXC容器&#xff0c;取而代之的是JAVA虚拟机&#xff0c;内置多个插件&#xff0c;包括名为C…

Dockerfile 里 ENTRYPOINT 和 CMD 的区别

ENTRYPOINT 和 CMD 的区别&#xff1a; 在 Dockerfile 中同时设计 CMD 和 ENTRYPOINT 是为了提供更灵活的容器启动方式。ENTRYPOINT 定义了容器启动时要执行的命令&#xff0c;而 CMD 则提供了默认参数。通过结合使用这两个指令&#xff0c;可以在启动容器时灵活地指定额外的参…

【笔试题汇总】华为春招笔试题题解 2024-4-24

这里是paoxiaomo&#xff0c;一个现役ACMer&#xff0c;之后将会持续更新算法笔记系列以及笔试题题解系列 本文章面向想打ICPC/蓝桥杯/天梯赛等程序设计竞赛&#xff0c;以及各个大厂笔试的选手 感谢大家的订阅➕ 和 喜欢&#x1f497; 有什么想看的算法专题可以私信博主 &…

Centos7 安装Git、使用

Centos7 安装Git 一、安装步骤1.1 查看版本1.2 卸载1.3 安装 二、创建仓库2.1 新增仓库2.2 新增配置项 三、管理文件3.1 文件创建3.2 文件修改、add、commit3.3 tree结构探索 四、分支4.1 创建分支&#xff1a;4.2 查看分支4.3 切换分支4.4 删除分支4.5 合并冲突 一、安装步骤 …

在Ubuntu linux操作系统上操作MySQL数据库常用的命令

检查是否安装了MySQL&#xff0c;或检查MySQL的状态&#xff1a; sudo systemctl status mysql或 sudo systemctl status mysql.service如果mysql有安装&#xff0c;上面这条命令会返回mysql的状态active或inactive。 卸载mysql数据库 第一步是停了数据库&#xff1a; sud…

云手机对出海企业有什么帮助?

近些年&#xff0c;越来越多的企业开始向海外拓展&#xff0c;意图发掘更广阔的市场。在这过程中&#xff0c;云手机作为一个新型工具为很多企业提供了助力&#xff0c;尤其在解决海外市场拓展过程中的诸多挑战方面发挥着作用。 首先&#xff0c;云手机的出现解决了企业在海外拓…

仓储机器人确实蛮卷的~

导语 大家好&#xff0c;我是智能仓储物流技术研习社的社长&#xff0c;老K。专注分享智能仓储物流技术、智能制造等内容。 新书《智能物流系统构成与技术实践》 视频来源于Agilox。 仓储机器人&#xff0c;无疑是现代物流业的一大亮点。它们小巧灵活&#xff0c;却能承担起繁重…