Hi!

Here are some of my (general Vim) tips regarding buffer/file
navigation/discovery.

I regularly populate the buffer list over time (see also :ls, :bd),
and :mksession to save my working sessions (often a huge pile of
splits and tabs). To jump to buffers, I then use the very powerful :sb
command, which intelligently matches anywhere within the file path. So
e.g.:

    :sb some<Tab>

gives completions like:

    path/to/some/file.txt
    wholesome/tips.txt
    other/some

For this, I have this in my .vimrc:

    set wildmenu
    set wildmode=list:longest,full

    set switchbuf=usetab,split

, which firstly sets up completion as *I* like it (YMMV). The
'switchbuf' setting makes :sb jump to the file in an existing window
in any tab, and if none are open, use a split. (Compare to the default
:sb behaviour which always uses the current window.)

I also (judiciously) use recursive-globs (**); e.g.:

    :e path-part/**/some<Tab>

And, for e.g. refactoring, lots of:

    :vimgrep /some-regexp/j path-part/**/*.py
    :copen

(The 'j' is for *not* jumping to the first match automatically.)

Also, if you (for instance) want to do *massive* remakes of lots of
files within a directory, I recommend:

    :cd path/to/data
    :n **/*.data

, which loads all matched files as buffers, which you can navigate
with e.g. :sb; and furthermore can be modified with stuff like :bufdo
(the once instance where I ":set hidden" if I do multiple replacements
etc. and want to inspect them prior to writing).

[Finally, always use the vim help system if you wonder about a command
or option etc. E.g:

    :help :sb
    :help :vimgrep
    :help 'switchbuf'
    :help 'wildmode'
    :help 'hidden'
    :help :wa

and so on.]

Best of luck and best regards,
Niklas


On Thu, Dec 18, 2008 at 4:10 PM, Nico Weber <[email protected]> wrote:
>
>> In textmate there is the wonderful "Go to file" command which lets you
>> perform a fuzzy search on all files in the project which usually gets
>> you to open the file you want in < 1s. I don't necessarily need
>> something exactly like it, but I am very much interested in how
>> everybody in here deals with quickly opening files.
>
> Depends a bit on the project. For smaller projects, I usually open all
> files in buffers when I start MacVim (`mvim *.py`, for very small
> projects `mvim -p *.py`) and then use BufExplorer to move around (the
> plugin Markus linked to can also navigate buffers, but I haven't
> really tried it yet). For larger projects, I build a cscope database
> and use that to move around (`:h cscope`). The two plugins a.vim and
> NERDTree are useful too.
>
> Nico
>
> ps: The LustyExplorer plugin looks similar to Jamis' plugin and might
> be easier to install. Haven't tried this one either, though.
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_mac" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---

Reply via email to