写点什么

优雅的编码习惯总是让人心情愉悦 (Shell 篇)

作者:XinXing
  • 2022 年 3 月 10 日
  • 本文字数:819 字

    阅读完需:约 3 分钟

前言

今天公司生产有个作业出现了故障,依次排查追溯到了一个 SHELL 脚本。使用 VIM 打开该脚本后直接麻了,所有人都不知道这是谁写的脚本,脚本对应的执行代码在哪里,没有出处,没有标注,没有创建时间,简直是“三无产品”。



为了彻底杜绝这种问题再次发生,指望口头约束肯定是没太大用处的。使用下文的方式来解决此类问题发生。

就像你编写代码时使用类似 IDEA 的功能

实战

生效范围设置

  • 当前用户:


[root@xinxing01 ~]# vim ~/.vimrc
复制代码


  • 全局:


[root@xinxing01 ~]# vim /etc/vimrc
复制代码

追加写入如下内容(不要把原来的东西覆盖或删除!)

set ignorecaseset autoindentset pasteautocmd BufNewFile *.sh exec ":.call SetTitle()"func SetTitle()if expand("%:e") == 'sh'call setline(1,"#!/bin/bash")call setline(2,"#***********************************************")call setline(3,"#Author:        Administrator")call setline(4,"#Args:1.xxxxx   2.xxxxxx        3.xxxxxxx ")call setline(5,"#Version:       1.0")call setline(6,"#Date:          ".strftime("%Y-%m-%d HH:mm:ss"))call setline(7,"#FileName:      ".expand("%"))call setline(8,"#Description:   The test script")call setline(9,"#***********************************************")call setline(10,"")endifendfuncautocmd BufNewFile * normal G
复制代码

参数解释

  • set ignorecase:忽略大小写

  • set autoindent:自动缩进

  • set paste: 设置粘贴模式

  • autocmd:自动执行命令

  • autocmd [group] events pattern [nested] command

  • 详情参考:https://zhuanlan.zhihu.com/p/98360630

效果演示

直接使用 vim 命令新建一个文件,效果如下



用户处可以动态获取当前 Linux 登录用户,自己实现吧,随便百度

shell 其他参数设置

如果你想关闭某个选项,在命令前加no即可 如:set nonumber就是不显示行号啦



参考链接

  • https://dougblack.io/words/a-good-vimrc.html

  • http://vimdoc.sourceforge.net/htmldoc/options.html

发布于: 刚刚阅读数: 2
用户头像

XinXing

关注

还未添加个人签名 2022.03.01 加入

还未添加个人简介

评论

发布
暂无评论
优雅的编码习惯总是让人心情愉悦(Shell篇)_Shell_XinXing_InfoQ写作平台