`
idning
  • 浏览: 136132 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

写了一个vim 插件, nskeleton.vim

 
阅读更多

写了一个vim插件. 做两件事情:默认的skeleton, 更新last_update

skeleton 其实很简单:

autocmd BufNewFile *.py 0r ~/.vim/skeleton/py_skeleton.py

但是想插入一个自动的Date, author之类的字段, 搜了一下, 有现成的tskeleton: 但是居然有1万来行代码,我了个去,试用了一把,居然还有bug!!!!不能忍了,于是自己写了一个

结果满足自己的需求,代码只有30行左右:

if has("win32") || has ('win64')
    let $VIMHOME = $HOME."/vimfiles/"
else
    let $VIMHOME = $HOME."/.vim/"
endif

function! Replace()
    let n = min([20, line("$")])
    keepjumps exe '1,' . n . 's#<+DATE+>#\1' .  strftime('%F %T') . '#e'
    "Decho "debug message " . &ft. expand('%:t')
    keepjumps exe '1,' . n . 's#<+FILE_NAME+>#' .  expand('%:t') . '#e'
    "call histdel('search', -1)
endfun

au BufNewFile * :silent! exec ":0r ".$VIMHOME."skeletons/". &ft . ".skeleton" | call Replace()



function! LastModified()
  if &modified
    let save_cursor = getpos(".")
    let n = min([20, line("$")])
    keepjumps exe '1,' . n . 's#^\(.\{,10}Last modified: \)\S* \S*#\1' .
          \ strftime('%F %T') . '#e'

    "Decho "debug message " 

    "call histdel('search', -1)
    call setpos('.', save_cursor)
  endif
endfun

autocmd BufWritePre * call LastModified()
分享到:
评论

相关推荐

    go语言高亮vim插件 plug.vim

    go语言高亮vim插件,go语言高亮vim插件,go语言高亮vim插件 go语言高亮vim插件.go语言高亮vim插件

    vim-6.4.tar.bz2

    vim-6.4.tar.bz2 一个linux下的编辑器

    vim的c.vim和cpp.vim文件

    vim的c.vim和cpp.vim文件,替换之后可以高亮显示函数名称,包括STL里的类型名和函数名

    vim_plugin.tar.gz

    自己用的vim plugin: bufexplorer.vim genutils.vim grep.vim lookupfile.vim minibufexpl.vim SuperTab.vim taglist.vim visualmark.vim winfileexplorer.vim winmanager.vim wintagexplorer.vim

    vim插件a.vim

    a.vim 插件,可以通过该插件实现src源文件 和 include头文件之前的切换

    Vim的.vim文件夹和.vimrc配置文件

    vim常用插件以及.vimrc文件的常用配置

    vim jeffy插件和配置

    linux下用vim编辑器配合jeffy插件...2,解压jeffy-vim.zip 和里面的jeffy-vim-read.tar.gz 3,进入目录jeffy-vim-read运行安装脚本:#./install.sh 4,切换到自己的home目录#cd ~ 5,拷贝.vim配置文件到home目录 OK

    vim-ide.tar.bz2

    压缩包为直接打包/etc/vim配置及插件包。 root@ubuntu:/etc/vim# tree -L 2 . bundle ale auto-pairs echofunc gdbmgr indentLine LeaderF nerdcommenter nerdtree nerdtree-git-plugin quick-scope ...

    VIM及插件汇总.rar

    VIM 实用插件整理,vim-8.2.0100.tar.gz,1.Vundle.vim,2.vim-colors-solarized,3.nerdtree,4.tagbar,5.taglist,6.vim-airline,7.YouCompleteMe,8.ultisnips.....

    Xcode的vim插件XVim.zip

    XVim 是一个 Xcode 的插件,实现了 vim 的编辑习惯。支持:Xcode4.6Xcode5Xcode6 betaXcode7 标签:XVim

    vim插件:omnicppcomplete-0.41.zip、taglist_46_vim.zip、vim-autocomplpop.zip三合一

    vim常用插件: 1. omnicppcomplete-0.41.zip 2. taglist_46_vim.zip 3. vim-autocomplpop.zip

    Chrome的VIM插件Vrome.zip

    Vrome 是一个 Chrome 的扩展,实现了类似 vim 的快捷键绑定效果。快捷键包括:URL 导航Tab 操作Key Marks 书签页面导航、滚动、缩放和搜索历史记录支持外部编辑器等等

    vim-7.4.tar.bz2和vimgdb-for-vim7.4-master.zip

    这个资源包括vim-7.4.tar.bz2和vimgdb-for-vim7.4-master.zip

    Vim插件vim-switchtoinc.zip

    vim-switchtoinc 这是一款vim插件,用于头文件和源文件间快速切换。注:在a.vim插件基础上修改的。特性 支持多种语言(所有具备头文件的语言),主要支持为c, cpp, objective-c, objective-cpp等 支持绝对...

    vim.tar.gz

    git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim cd ~/.vim/bundle/YouCompleteMe git submodule update --init --recursive cd ~/.vim/bundle/YouCompleteMe ./install.py --...

    中文排版自动规范化Vim插件PanGu.vim.zip

    功能中英文字符间增加一个半角空白。中文前后的半角标点转成全角标点。全角英文、数字转成半角字符。剔除重复的中文标点符号。支持的文件格式推荐在以下文件格式中使用:Markdown (*.md, *.markdown)Text (*.text, *...

    vscodevim.vim-1.25.2.vsix.png

    vscodevim.vim-1.25.2.vsix.pngvscodevim.vim-1.25.2.vsix.pngvscodevim.vim-1.25.2.vsix.pngvscodevim.vim-1.25.2.vsix.png

    viminstall.tar.gz

    ctags,cscope,sourceinsight,vim 用vim的插件搭建一个类似sourceinsight的vi,同时加了一些vim及脚本,只需一条命令,就可安装完ctagslist,cscope等插件,达到sourceinsight的效果。

    vim velocity插件 velocity.vim

    vim velocity插件 velocity.vim vim异常强大哦

    vim-8.2.tar.bz2

    bunzip2 vim-8.2.tar.bz2 #### 再解压 tar xvf vim-8.2.tar #### 进入解压目录 cd vim82 #### 配置 ./configure --disable-selinux --enable-cscope 如果此处报错 no terminal library found checking ...

Global site tag (gtag.js) - Google Analytics