这份笔记由来主要是同事在服务器提交任务时。很多人是每次都将 PBS 头部配置重新复制一次。
比如:
#!/bin/bash
#PBS -N:作业名称。
#PBS -q:队列名称。
#PBS -l:资源请求。
#PBS -j oe:将标准输出和标准错误合并到一个文件中。
其实,可以在 ~/.vimrc
上进行配置,在用 VIM
新建文件时,可以根据文件后缀自动生成初始化文本。
以下为参考脚本,可根据自己需求更改。
打开并修改 ~/.vimrc
$ cat .vimrc
au BufNewFile *.mk,[Mm]akefile exec ":call SetNewFileHeader()"
au BufNewFile *.sh,*.py exec ":call SetNewFileHeader()"
" SetNewFileHeader for new buffer
func SetNewFileHeader()
" set author_name here
let $author_name = $USER
if &filetype == 'make'
call setline(1, "####################################################")
call setline(2, "# Author : ".$author_name )
call setline(3, "# Created date: ".strftime('%F %T'))
call setline(4, "# Describe : " )
call setline(5, "####################################################")
call setline(6, "")
call setline(7, "#target: prerequisites ")
call setline(8, "#\tcommand")
call setline(9, "")
elseif &filetype == 'sh'
call setline(1, "#!/bin/bash")
call setline(2, "#PBS -l nodes=1:ppn=20")
call setline(3, "#PBS -j oe")
call setline(4, "#PBS -V")
call setline(5, "#PBS -q comput")
call setline(6, "#PBS -N run")
call setline(7, "cd $PBS_O_WORKDIR")
call setline(8, "####################################################")
call setline(9, "# Author : ".$author_name )
call setline(10, "# Created date: ".strftime('%F %T'))
call setline(11, "# Describe : ")
call setline(12, "####################################################")
call setline(13, "beginTime=`date +%s`")
call setline(14, "####################################################")
call setline(15, "")
call setline(16, "")
call setline(17, "")
call setline(18, "")
call setline(19, "")
call setline(20, "####################################################")
call setline(21, "endTime=`date +%s`")
call setline(22, "echo -n '总共耗时: ';time=$(printf '%.5f' `echo \"scale=5;($endTime-$beginTime)/3600\"|bc`);echo -n $time;echo ' 小时'")
elseif &filetype == 'python'
call setline(1, "#! /usr/bin/env python3")
call setline(2, "# coding=utf-8")
call setline(3, "####################################################")
call setline(4, "# Author : ".$author_name )
call setline(5, "# Created date: ".strftime('%F %T'))
call setline(6, "# Describe : " )
call setline(7, "####################################################")
call setline(8, "")
call setline(9, "if __name__ == '__main__':")
call setline(10, " print(\"hello ".expand('%:t')."\")")
call setline(11, "")
endif
endfunc
" vim 打开文件时显示行号
set number
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。