创建shell脚本文件自动加头部注释信息

2024-06-03 07:12

本文主要是介绍创建shell脚本文件自动加头部注释信息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        每次创建脚本文件都要加头部注释,这样十分麻烦 ,使用如下方法,在每次使用vim创建.sh结尾的脚本文件时,可自动添加自定义头部信息注释。

效果图:

方法如下:

一.所有用户可用,系统级配置

 1. 编辑配置文件

vim /etc/vimrc

2. 在该文件尾部追加如下内容

set ignorecase  
autocmd BufNewFile *.py,*.cc,*.sh,*.java exec ":call SetTitle()"func SetTitle() 
if expand("%:e") == 'sh'
call setline(1, "#!/bin/bash")
call setline(2,"##############################################################")
call setline(3, "# *File Name    : ".expand("%"))
call setline(4, "# *Author       :作者")
call setline(5, "# *Email        :")
call setline(6, "# *Create time  :".strftime("%Y-%m-%d %H:%M:%S"))
call setline(7, "# *Description  :描述信息")
call setline(8,"##############################################################")
endif
endfunc

3. 测试

vim ceshi.sh

 

可以根据需要,自新修改注释格式。

二. 指定用户可用,用户级配置

1. 在需要自动注释的用户的家目录下,创建.vimrc文件

touch .vimrc

 2. 添加如下配置内容

" 忽略大小写
set ignorecase" 高亮光标所在行
set cursorline" 自动缩进
set autoindent" 当新建任何文件时移动光标到文件末尾
autocmd BufNewFile * normal G" 特别处理新建 .sh 文件的注释头
autocmd BufNewFile *.sh exec ":call SetTitle()"func SetTitle()" 判断文件扩展名是否为 'sh'if expand("%:e") == 'sh'" 临时关闭 cursorlineset nocursorline" 插入注释内容call setline(1, "#!/bin/bash")call setline(2, "##############################################################")call setline(3, "# *File Name    : ".expand("%"))call setline(4, "# *Author       :作者")call setline(5, "# *Email        :")call setline(6, "# *Create time  :".strftime("%Y-%m-%d %H:%M:%S"))call setline(7, "# *Description  :描述信息")call setline(8, "##############################################################")" 在插入注释之后重新启用 cursorlineset cursorline" 将光标移动到注释之外的第一行call setpos('.', [0, 9, 1, 0])endif
endfunc

 这样即可针对想要的用户添加,而别的用户则不会自动添加了。

以上两种语法写出来的效果细微处有不同,实现的效果一样的,习惯用那种就用那个即可。

这篇关于创建shell脚本文件自动加头部注释信息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1026309

相关文章

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Java实现远程执行Shell指令

《Java实现远程执行Shell指令》文章介绍使用JSch在SpringBoot项目中实现远程Shell操作,涵盖环境配置、依赖引入及工具类编写,详解分号和双与号执行多指令的区别... 目录软硬件环境说明编写执行Shell指令的工具类总结jsch(Java Secure Channel)是SSH2的一个纯J

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

基于Redis自动过期的流处理暂停机制

《基于Redis自动过期的流处理暂停机制》基于Redis自动过期的流处理暂停机制是一种高效、可靠且易于实现的解决方案,防止延时过大的数据影响实时处理自动恢复处理,以避免积压的数据影响实时性,下面就来详... 目录核心思路代码实现1. 初始化Redis连接和键前缀2. 接收数据时检查暂停状态3. 检测到延时过

Spring创建Bean的八种主要方式详解

《Spring创建Bean的八种主要方式详解》Spring(尤其是SpringBoot)提供了多种方式来让容器创建和管理Bean,@Component、@Configuration+@Bean、@En... 目录引言一、Spring 创建 Bean 的 8 种主要方式1. @Component 及其衍生注解

Java调用Python脚本实现HelloWorld的示例详解

《Java调用Python脚本实现HelloWorld的示例详解》作为程序员,我们经常会遇到需要在Java项目中调用Python脚本的场景,下面我们来看看如何从基础到进阶,一步步实现Java与Pyth... 目录一、环境准备二、基础调用:使用 Runtime.exec()2.1 实现步骤2.2 代码解析三、

Python脚本轻松实现检测麦克风功能

《Python脚本轻松实现检测麦克风功能》在进行音频处理或开发需要使用麦克风的应用程序时,确保麦克风功能正常是非常重要的,本文将介绍一个简单的Python脚本,能够帮助我们检测本地麦克风的功能,需要的... 目录轻松检测麦克风功能脚本介绍一、python环境准备二、代码解析三、使用方法四、知识扩展轻松检测麦

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据

MySQL 临时表创建与使用详细说明

《MySQL临时表创建与使用详细说明》MySQL临时表是存储在内存或磁盘的临时数据表,会话结束时自动销毁,适合存储中间计算结果或临时数据集,其名称以#开头(如#TempTable),本文给大家介绍M... 目录mysql 临时表详细说明1.定义2.核心特性3.创建与使用4.典型应用场景5.生命周期管理6.注