I've tried all the flavours, nerdtree, vim vinegar, file beagle, netrw, everything I could find, and I found them all dissapointing for different reasons.
Vim vinegar is in many ways was the best, conforming to the Vim paradigm, but still basic file operations were clunky. Adding another Tim Pope plug - the delightfully named vim-eunuch is great for deleting the buffer you're working in (destroy the buffer and delete the file with
:Delete - yay - power!) but it wasn't until I found Dirvish that I really feel like I found the last piece of the puzzle.
Dirvish allows more straightforward file manipulation using the
% to expand into the current directory, e.g.:
:! cp %/default.settings.php %/settings.php
yy yanks the complete file path and there is good shell integration as well as a nice git plugin (starred lines):
Combining this with FZF fuzzy finder for opening individual files and Ranger means I feel like I have all the options covered in Vim from project style view (Dirvish), rooting around the file system and performing bulk operations with Ranger and being able to :Delete files straight from the buffer is meeting all my needs. See FZF in action bottom right.
Ranger with preview has a million useful commands - recently yanking the file names in a directory for inclusion in a YML file - select files in ranger, press yn, and paste file name list into new file. And I love the preview function.
Of course git is a big part of file navigation and I find myself using
tig status a lot on the cammand line to get a view of the git staging area and then to be able to see any diff's - but that is another story.