`
idning
  • 浏览: 138359 次
  • 性别: 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的.vim文件夹和.vimrc配置文件

    编写一个完善的`.vimrc`文件可以极大地提升Vim的使用体验和工作效率。 以下是一些常见的`.vimrc`配置示例及其功能: 1. **设置编码**:`set fileencodings=utf-8` 确保文件以UTF-8编码打开和保存。 2. **禁用换行...

    vim插件a.vim

    总之,`a.vim`插件是vim用户提高开发效率的一个实用工具,特别是在处理涉及大量源代码和头文件的项目时。它简化了文件导航,使开发者可以更专注于代码编写本身,而非寻找文件的过程。通过熟练掌握`a.vim`,你将能在...

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

    `vimgdb-for-vim7.4-master.zip`是Vimgdb的源代码包,Vimgdb是一个让Vim与GDB(GNU调试器)集成的工具,旨在帮助程序员在Vim环境中调试C/C++代码。通过Vimgdb,用户可以直接在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 ...

    vim的c.vim和cpp.vim文件

    然而,给定的文件列表中并没有`c.vim`和`cpp.vim`,而是包含了一些与Vim配置无关的文件,如`.bash_history`(记录bash shell的命令历史)、`.bash_logout`(bash shell退出时执行的脚本)、`.acm.cpp`(一个可能的...

    vim_插件.zip

    1. **Vundle**:Vundle 是一个流行的 Vim 插件管理器,它允许你通过 Git 直接安装和更新插件。在 `.vimrc` 文件中添加插件列表,然后运行 `:PluginInstall` 命令即可。 2. **Pathogen**:Pathogen 将每个插件放在...

    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.tar.gz 程序

    Vim(Vi IMproved)是基于经典的Vi编辑器的一个高度可配置、功能强大的文本编辑器。这个名为"vim.tar.gz"的压缩包文件显然包含了Vim的安装或更新资源,特别是"vim74"这个子目录,很可能包含了Vim 7.4版本的相关文件...

    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.tar.gz

    "vim.tar.gz"这个压缩包文件包含了安装或更新Vim所需的所有内容。 在Linux中,Vim提供了一个简洁而高效的命令行界面,允许用户通过键盘快速操作,进行文本编辑。其主要特点包括: 1. **模式切换**:Vim有多种操作...

    vim-ideAutoconfig.tar.gz

    **vim-ideAutoconfig** 的核心价值在于简化了Vim的配置过程,通过运行一个脚本,可以自动下载并安装一系列插件和配置,以实现IDE级别的功能。这通常包括但不限于: 1. **代码补全**:如YouCompleteMe或CoC(Code ...

    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.....

    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

    Xcode的vim插件XVim.zip

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

    vim-configure.tar.gz_vim_vim_configure

    "vim-configure.tar.gz_vim_vim_configure" 是一个包含了 Vim 配置文件的压缩包,旨在帮助用户优化 Vim 的使用体验,提供自动提示、补全功能以及代码高亮等特性。 在 Vim 中配置这些功能,可以使编辑效率大幅提升。...

    vim-autocomplpop.rar

    【vim-autocomplpop.rar】是一个压缩包,包含与Vim编辑器相关的自动补全功能扩展。Vim是一款强大的文本编辑器,深受程序员和系统管理员喜爱。它以其高度可定制性和丰富的插件系统而闻名。在Vim中,`autocomplpop`是...

    viminstall.tar.gz

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

Global site tag (gtag.js) - Google Analytics