4 years ago
A nice textmate functionality I'm aware of is the ability to just
mate some/directory to open the editor with the file tree based in the given directory. Or at least I think that's what it does, I've only seen other people do it.
That's quite easy to replicate in Vim, of course. With this autocommand, editing a directory
cds into it and then opens netrw, or, in my case, the NERDTree. For good measure, I've also added the ability to source a project-specific file that happens to be in this directory called
_project.vim (replace "_project.vim" in the snippet with whatever different filename you'd prefer).
This means that I can just
vim projects/some_project in order to set up all the tools I need for that project. Or, if I happen to be in that directory twiddling on the command-line, a simple
vim . pops up the project code.
augroup maybe_enter_directory autocmd! autocmd BufEnter,VimEnter * call s:MaybeEnterDirectory(expand("<amatch>")) autocmd END function! s:MaybeEnterDirectory(file) if a:file != '' && isdirectory(a:file) let dir = a:file exe "cd ".dir if filereadable('_project.vim') source _project.vim echo "Loaded project file" endif endif endfunction