VIM脚本用注释字符包围多行注释
发布时间:2020-12-15 21:34:12 所属栏目:安全 来源:网络整理
导读:对于我工作地点的标题样式注释(包括文件中的主要新代码段),我们使用以下标准: ################################### This is a multiline comment ## and we've surrounded it by the ## comment symbol. ################################### 如果有一个冗
对于我工作地点的标题样式注释(包括文件中的主要新代码段),我们使用以下标准:
################################## # This is a multiline comment # # and we've surrounded it by the # # comment symbol. # ################################## 如果有一个冗长的多行注释(因为通常在描述性标题中),这可能需要一分钟.这是一项微不足道的任务,我想让它自动化.我的目标是编写一个脚本,允许我选择一个范围(在可视模式下),输入命令,然后输入注释字符,从而将所选行包含在如上所示的框中.我在VIM脚本上做了一些尝试,但老实说,之前从未编写过VIM脚本,我的代码很乱,我认为发布它的原因实际上是不利的. 有关如何构建此建议的任何建议? 解决方法
你不需要“分钟”来完成这项工作.使用v或c和r(替换)的vtrl-v块选择你可以很容易地做到这一点.但是如果你需要每天做100次,这个小功能可以帮助你:
let g:wrap_char = '#' function! WrapThem() range let lines = getline(a:firstline,a:lastline) let maxl = 0 for l in lines let maxl = len(l)>maxl? len(l):maxl endfor let h = repeat(g:wrap_char,maxl+4) for i in range(len(lines)) let ll = len(lines[i]) let lines[i] = g:wrap_char . ' ' . lines[i] . repeat(' ',maxl-ll) . ' ' . g:wrap_char endfor let result = [h] call extend(result,lines) call add(result,h) execute a:firstline.','.a:lastline . ' d' let s = a:firstline-1<0?0:a:firstline-1 call append(s,result) endfunction 来源该文件,请注意 > g:wrap_char你可以为你的边框设置任何字符,这里我用#. 一个小小的演示: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |