I would agree with Marc.
The vim tips currently does not have any structured organisation.
May be, we can organize using wiki.

Regards,
Shankar



>-----Original Message-----
>From: Marc Weber [mailto:[EMAIL PROTECTED]
>Sent: Thursday, August 10, 2006 3:08 PM
>To: vim@vim.org
>Subject: Re: Tips for advance use of Vim
>
>On Thu, Aug 10, 2006 at 10:22:11AM +0800, Vincent Wang wrote:
>> Good idea and I am sure it will help many persons!
>> One suggestion, why not put your tips to www.vim.org's tips page and
>> post a notification in this maillist? That will make your tip well
>> archived and easier to reach.
>
>This tip had a specific topic (Workspace efficiency)
>
>This leads me to another idea:
>Why not use some kind of wiki where we can write down many tips sorted
>by topic? Eg the wiki might have an index like this and much more
content..
>
>Working with vim efficiently
>       oppening/saving files
>               " don't losse time creating directoryies, let vim create
them
>for you!
>               augroup BufWritePre
>                 autocmd BufWritePre * if !isdirectory(expand('%:h'))|
>mkdir(expand('%:h'),'p') | endif
>               augroup end
>
>               You accidently edited a file on disk and in vim? No
problem:
>diff them:
>                       fun! DiffWithFileFromDisk()
>                         let filename=expand('%')
>                         let diffname = filename.'.fileFromBuffer'
>                         exec 'saveas! '.diffname
>                         diffthis
>                         vsplit
>                         exec 'edit '.filename
>                         diffthis
>                       endfun
>
>       managing windows
>       Insert Code Snippets
>
>       moving curosr
>               (there is - and <cr> why not introduce your own mappings
>               for k$ or j$? map  <s-cr> <esc>o is realy useful,...)
>               (do a fast mappnig eg <c-s-w> :windcmd w and use
>               <number><c-s-w> to go to the next window, you'll need
>               oonly 2  keys most of the time!)
>       editing text
>               searching in text
>                       (  pipe to | g -
>                          and use a mapping like this
>                         " filter lines
>                         noremap <m-f><m-l> :exec 'g!/'.input("filter
expr
>:").'/d'<cr>
>                         " drop lines
>                         noremap <m-d><m-l> :exec 'g/'.input("filter
expr
>:").'/d'<cr>
>                        Now you can see all matches at one glance
instead of
>pressing n n over and over again..
>                       )
>               Have you ever wondered wether it's faster to use j<keep
>pressnig this key> or use 5j?
>               reduce  the repetition and hold time of your keyboard
and j
>will  be fastter ;)
>       file-type plugins
>               use an autocommand like this to automatically resource
it:
>               augroup reloadftplugins
>                 au BufWritePost ~/.vim/ftplugin/*.vim bufdo let
&ft=&ft
>               augroup end
>
>               use a shortcut like this to open the ftplugin file
directly (mw
>is  my  shortcut so I can insttall different plugins easily)
>                 map <m-s-f><m-s-t><m-s-p> :exec 'e
>~/.vim/ftplugin/'.&filetype.'_mw.vim'<cr>
>       Tips for working with
>               xml (content  eg xmllint, completion, dtd <- there was
another
>nice tutorial somewhere)
>               C (tags, templates, .., quickfix)
>               bash/sh
>               vimhelp
>       vimscripting:
>               ... It would be nice to create a collection of useful
>               functions...
>
>               fun! IfConfirm(confirm_requirement, message, cmd)
>               if a:confirm_requirement
>               if !input(a:message.' [y/sth. else]')=='y'
>                   return
>                 endif
>               endif
>               exec a:cmd
>               endfun
>
>               " just use exec  DontLoadTwice("scriptname") to not load
the
>script twice
>               fun! DontLoadTwice(name)
>                 let cmd = "if exists('".a:name."') | finish| let
>g:".a:name."=1|endif"
>               endfun
>
>               " some kind of  ? operator  (then_v and else_v will be
>evaluated!)
>               function! If(condition, then_v, else_v)
>                 if a:condition
>                   exec a:then_v
>                 else
>                   exec a:else_v
>                 endif
>               endfunction
>               " usage:
>               let a=If(condition,thenvalue,elsevalue)
>
>               If you think functions like this make your code harder
to read
>               I'd suggest running exuberant-ctags in.vim and using
tags or
>the excellent
>               wherefrom plugin
>               Why this? It's said that the tim you need to write a
program is
>               proportional to the number of lines you need if you are
>familiar  enough with
>               the  languge + libs
>
>I don't think this should replace vim.org but it might link to the
tips/
>scripts there
>Benefits: Its easier to keep it up to date (on vim.org you'll get
>still outdated matches..
>
>Would http://www.vi-improved.org/wiki/ be a good place?
>I've some ideas and scripts I want to share..
>some are so small that it's not worth putting them into a tip.
>I think it would be also good to limit comments to a short description
>here.
>Would it be great to have some kind of notification?
>
>Marc

Reply via email to