脚本专栏 
首页 > 脚本专栏 > 浏览文章

Ruby学习笔记二帮助生成Vim添加代码头的代码

(编辑:jimmy 日期: 2024/11/26 浏览:3 次 )

脚本语言真是太强了。

我的目的是把我的默认代码头功能加到Vim里面。

/******************************************************************************
*  COPYRIGHT NOTICE
*  Copyright (c) 2014 All rights reserved
*  ----Stay Hungry Stay Foolish----
*
*  @author  : Shen
*  @name   :
*  @file   : G:\My Source Code\DefaultCode.cpp
*  @date   : 2014/06/14 02:44
*  @algorithm :
******************************************************************************/

//#pragma GCC optimize ("O2")
//#pragma comment(linker, "/STACK:1024000000,1024000000")

#include <bits/stdc++.h>
#include <cmath>
#include <cstdio>
#include <string>
#include <cstring>
#include <iomanip>
#include <iostream>
#include <algorithm>
using namespace std;
template<class T>inline bool updateMin(T& a, T b){ return a > b "htmlcode">
def load( path )
 File.foreach(path) do |line|
  line["\n"] = ""
  str = "let l = l + 1 | call setline(l, \'#{line}\')"
  File.open("s.txt", "a") do |f|
   f << "#{str}\n"
  end
 end
end

load("DefaultCode.cpp")

最后人工把头尾一加,搞定了。

"F4 添加文件头
map <F4> :call TitleDet()<cr>
function AddTitle()
let l = 0
let l = l + 1 | call setline(l, '/******************************************************************************')
let l = l + 1 | call setline(l, '*  COPYRIGHT NOTICE')
let l = l + 1 | call setline(l, '*  Copyright (c) 2014 All rights reserved')
let l = l + 1 | call setline(l, '*  ----Stay Hungry Stay Foolish----')
let l = l + 1 | call setline(l, '*')
let l = l + 1 | call setline(l, '*  @author  : Shen')
let l = l + 1 | call setline(l, '*  @name   :')
let l = l + 1 | call setline(l, '*  @file   : '.expand("%:p:h")."\\".expand("%:t"))
let l = l + 1 | call setline(l, '*  @date   : '.strftime("%Y/%m/%d %H:%M"))
let l = l + 1 | call setline(l, '*  @algorithm :')
let l = l + 1 | call setline(l, '******************************************************************************/')
let l = l + 1 | call setline(l, '')
let l = l + 1 | call setline(l, '//#pragma GCC optimize ("O2")')
let l = l + 1 | call setline(l, '//#pragma comment(linker, "/STACK:1024000000,1024000000")')
let l = l + 1 | call setline(l, '')
let l = l + 1 | call setline(l, '#include <bits/stdc++.h>')
let l = l + 1 | call setline(l, '#include <cmath>')
let l = l + 1 | call setline(l, '#include <cstdio>')
let l = l + 1 | call setline(l, '#include <string>')
let l = l + 1 | call setline(l, '#include <cstring>')
let l = l + 1 | call setline(l, '#include <iomanip>')
let l = l + 1 | call setline(l, '#include <iostream>')
let l = l + 1 | call setline(l, '#include <algorithm>')
let l = l + 1 | call setline(l, 'using namespace std;')
let l = l + 1 | call setline(l, 'template<class T>inline bool updateMin(T& a, T b){ return a > b "更新最近修改时间和文件名
function UpdateTitle()
 call setline(8, '*  @file   : '.expand("%:p:h")."\\".expand("%:t"))
 call setline(9, '*  @date   : '.strftime("%Y/%m/%d %H:%M"))
endfunction

"判断前10行代码里面,是否有COPYRIGHT NOTICE这个单词,
"如果没有的话,代表没有添加过作者信息,需要新添加;
"如果有的话,那么只需要更新即可
function TitleDet()
 let n = 2
 "默认为添加
  let line = getline(n)
  let str = '^*  COPYRIGHT NOTICE$'
  if line =~ str
   call UpdateTitle()
   return
  endif
 call AddTitle()
endfunction

上一篇:源代码快速定位工具-qwandry使用指南
下一篇:Ruby On Rails中如何避免N+1问题
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 网站地图 SiteMap