" AUTHOR: GPL(C) Mohsin Ahmed, http://www.cs.albany.edu/~mosh " WHOM: GVIM/VIM tricks scriptus. " WHAT: Source this file into vim, to add these commands to your menu :amenu MoshReg.Edit-Backup:sav :exe "sav! $TMP/" . expand("%:t") :amenu MoshReg.Edit-Backup-Tmp:sav :exe "sav $TMP/" . expand("%:t") . strftime("-%Y-%m-%d_%H%M%S") :amenu MoshReg.Goto-File_or_Dirgf osgf:set buflistedwR :amenu MoshReg.Cd-Dir:cd :exe ":cd " expand("%:h") :amenu MoshReg.List-Goto-Buffer-N:buf\ NUMBER :ls!:buf 1 :amenu MoshReg.Grep-Files :!(cd %:p:h;grep -i error *.*)& :amenu MoshReg.Find-Files :!(cd %:p:h; find . -print -type f -name '*WORD*')& :amenu Mo1.C.//To/**/Comment:s,//xx,/*\ xx\ */, :s,//\s*\(.*\)$,/* \1 */, :amenu Mo1.Show.Wrap-Lines:set\ wrap! :set wrap!set guioptions^=b :amenu Mo1.Show.LineNumbers:set\ nu! :set nu! :amenu Mo1.Show.Tabs:set\ list! :set list! :amenu Mo1.Subst.s/PWD/$PWD,gc :exe ":%s,".expand("%:h").",$PWD,gc" :amenu Mo1.Subst.basename:%s,\\S+/,,gc :%s/\<\([a-zA-Z]:\)\=[/\\]\S\+[/\\]//gc :amenu Mo1.Subst.backslash2slash:s,\\\\,\/,g :s,\\,/,g if strlen($DICT)>0 :amenu Mo2.Dict.Preview:pedit\ WORD\ $DICT :exe "silent pedit +/^" . toupper(expand("")) . " $DICT" :imenu Mo2.Dict.Lookup:!perl :!perl -ne \"print if m/^/i;\" $DICT :tmenu Mo2.Dict.Lookup " lookup work being typed in insert mode" endif :amenu Mo2.Tags.Preview} } :amenu Mo2.Tags.Auto-Preview:autopreview\.vim :so ~/vim/autopreview.vim :amenu Mo2.Tags.make-ctags:make-tags :!(cd %:p:h;ctags --file-tags=yes *.*)& :amenu Mo2.emacs.FileList_To_etags :% s/.*/&,1/ :amenu Mo1./.Delete-Matching-Lines:g//d :g//d :amenu Mo1./.Delete-Non-Matching-Lines:v//d :v//d :amenu Mo1./.Delete-Matching-Paras:1,$!perl :1,$! perl -0000lne 'print if m/word/' :amenu Mo1./.Move-Matching-Lines-Topg//\.m0 ma:g// .m0`a :amenu Mo1./.Move-Non-Matching-Lines-Lastv//\.m$ ma:v// .m$`a :amenu Mo1./.Match-Date/Date /[A-Z][a-z][a-z] [A-Z][a-z][a-z] \+\d\+ \+\d\d:\d\d:\d\d \([A-Z][A-Z]T \)\=\d\d\d\d\>/ :amenu Mo1.Filter:!perl_yourscript :1,$!perl -ne \"s[xx][xx]i; printf(\\"\%3d:\%s\\",\$.,\$_) if m/./i;\" :amenu Mo1.Format.NumberLines:!perl :1,$!perl -ne \"printf(\\"\%3d:\%s\\",\$.,\$_);\" :amenu Mo1.Format.ChopLongLines :%s!\(.\{-80,}\)\s!\1\r!gc :amenu Mo1.Format.Parj{!}par\.exe\ 72j j{!}par 72j :amenu Mo1.Format.Par:gqapgqap} gqap} :amenu Mo1.Format.BuffergqG gqG :amenu Mo1.Format.Regiongq gq :amenu Mo1.Format.JoinHypenatedLines :%s,\v\s+(\w+)-\n(\s*)(\S+)\s*, \1\3^M\2,gc :amenu Mo1.Format.JoinBackSlashLines :%s,\\\n,,gc :amenu Mo1.Char.Del-Blank-Lines:v\/\.\/d :v/./d :amenu Mo1.Char.Remove-Control:%s,[^[:print:]\\t],,g :%s,[^[:print:]\t],,g :amenu Mo1.Char.Indent-Leading-Spaces<<>> <<>> :amenu Mo1.Char.Del-Control-M:%s,\\r,,g :%s,\r,,g :amenu Mo1.Char.Dos2Unixff=unix :set ff=unix :amenu Mo1.Char.Unix2Dosff=dos :set ff=dos :amenu Mo1.Char.Untabifyexpantab,retab :set expandtab:retab :amenu Mo1.Char.Leading-Spaces-to-Tab:%s,^\\s\\+,\\t,c :%s,^\s\+,^I,c :amenu Mo1.Char.Del-Trailing-Spaces^Ks ma:silent! %s,[\s\r]\+$,,`a :amenu Mo1.Char.Squeeze-Blank-Lines^Kj ma:silent! v/./ .,/./-1 j`a :amenu Mo1.Char.Del-Underlined-Man^Kh ma:silent! %s,.\b,,g`a :amenu Mo1.Cvs.diff_fix :set ft=diff:1,$!cvs2local.pl :amenu Mo1.Cvs.cvs-annotate:!cvs-ann\.ksh :exe "!cvs-ann ".line(".")."-3..".line(".")."+3" expand("%") :amenu Mo1.Register.RegA2Clip:let\ @*=@a :let @*=@a :amenu Mo1.Register.Clip2RegA:let\ @a=@* :let @a=@* :amenu Mo1.Register.Clear-RegA:let\ @a="" :let @a="" :amenu Mo1.Register.MatchingLines2RegA:g//ya :g//y a :amenu Mo1.Register.AddMatchingLines2RegA:g//yA :g//y A :amenu Mo1.Web.iHomePage oHome :amenu Mo1.Web.iMailToAlb oEmail :hi previewWord term=bold ctermfg=black ctermbg=green guibg=green :amenu Mo1.Mark.Highlight :exe 'match previewWord "\%' . line(".") . 'l\%' . col(".") . 'c\k*"' :amenu Mo1.-Sep- : :amenu Mo1.Vim.ExeLine:exe\ getline("\.") :execute getline(".") amenu Maya.Tex.Quotes``Quoted'' :%s,".*",``&'',gc amenu Maya.Tex.VerseVerse ``>o\end{quote} amenu Maya.Tex.TeXCookBook :!(start yap $DOC/tex-cookbook.dvi)& amenu Maya.Tex.LaTeX!latex :exe "!latex " expand("%:r") amenu Maya.Tex.SpellCheck!ispell :!(ispell %)& amenu Maya.Tex.DviView!yap :exe "!yap " expand("%:r") amenu Maya.Tex.Ghostview!gs :exe "!gsview " expand("%:r") amenu Maya.Tex.MetaFont!mf :exe "!mf " expand("%:r") amenu Maya.Tex.TeX!tex :exe "!tex " expand("%:r") amenu Maya.Web.Txt2Htmlhref :%s,.*,&
,gc "-- Use TAB to complete when typing words, "-- uses dictionary and source files. function! MoshTabOrComplete() if col('.')>1 && strpart( getline('.'), col('.')-2, 3 ) =~ '^\w\>' return "\" else return "\" endfunction inoremap =MoshTabOrComplete() " Source any local .vimrc up the tree, allows tags up any tree. if $HOME =~? "\\(mohsin\\|mosh\\)$" let parent=1 let local_vimrc = ".vimrc" let local_tags = "tags" while parent <= 8 if filewritable(local_vimrc) echomsg "sourcing " . local_vimrc exe ":so " . local_vimrc endif let local_vimrc = "../". local_vimrc let local_tags = "../". local_tags exe ":set tags+=".local_tags let parent = parent+1 endwhile unlet parent local_vimrc endif " EOF