Vim中的TextMate评论横幅

时间:2011-02-23 00:52:10

标签: vim textmate

我正在从TextMate切换到Vim进行所有文本编辑。但是,我在TextMate中经常使用的一个功能是comment banner命令(ctr-shift-b)。它会创建一个横幅并允许您在横幅内输入文本,横幅将调整为文本的长度。 Vim中是否有任何插件或任何类似的功能?如果没有,有没有办法我可以编程vim来制作评论横幅?任何建议都会很棒。谢谢!

enter image description here

2 个答案:

答案 0 :(得分:6)

我的.vimrc

中有这些行
autocmd FileType vim map <leader>ccb I"<Del>  <Esc>A  "<Del><Esc>yyp0lv$hhr"yykPjj
autocmd FileType javascript,php,c map <leader>ccb I//  <Esc>A  //<Esc>yyp0llv$hhhr-yykPjj
autocmd FileType python,ruby,sh,zsh map <leader>ccb I#  <Esc>A  #<Esc>yyp0lv$hhr-yykPjj
autocmd FileType css map <leader>ccb I/*  <Esc>A  */<Esc>yyp0llv$r-$hc$*/<Esc>yykPjj

.vimrc中,它转变为:

vimrc banner

进入这个:

""""""""""""""""""
"  vimrc banner  "
""""""""""""""""""

在JS文件中,它转为:

javascript banner

进入这个:

//---------------------//
//  javascript banner  //
//---------------------//

" Creating underline/overline headings for markup languages
" Inspired by http://sphinx.pocoo.org/rest.html#sections
nnoremap <leader>== yyP^v$r=jyyp^v$r=
nnoremap <leader>** yyP^v$r*jyyp^v$r*
nnoremap <leader>= yyp^v$r=
nnoremap <leader>- yyp^v$r-
nnoremap <leader>^ yyp^v$r^
nnoremap <leader>" yyp^v$r"

我希望我能找到我找到它的地方的链接。

答案 1 :(得分:5)

我目前使用Snipmate.vim https://github.com/msanders/snipmate.vim

虽然我不完全确定有一个符合您确切需求的代码段,但它会 添加一个会这样做的人是微不足道的!

它有非常简单的脚本来添加你需要的东西。

您必须为代码段指定一个特定的组合键,这样当您在插入模式下处于该组合并点击Tab时,该插件会插入您需要的所有内容,并且它允许您更改以前的文本集。

因此,对于您给出的示例,我会给它一个说“banner”的组合。当我输入该单词并点击Tab时,我将被置于“评论标题”中,以便我可以输入并替换标题。

这个网站有一个关于一切如何运作的非常好的视频:http://www.catonmat.net/blog/vim-plugins-snipmate-vim/