When asked what is the native "VI(M) Way" to explore a directory tree and view/edit files, it is often stated that one would type the relative or direct path of the file being targeted and open it in a buffer, enhanced (I don't know starting when) by autocomplete. This implies one already has knowledge of the project structure (where) and files names (what). Left out of this is an explanation of how knowledge of structure/names would be gained in the first place... in particular with the constraint of operating in non-virtualized environments. Obviously there were no "tabs" in 1976 to toggle between a shell and the editor when vi was first developed, not sure also if there were multiple workspaces... So what did project developers using VI(M) use as reference for file names / structure, while Vi(m) was running?

closed as primarily opinion-based by Jeff Schaller, Thomas Dickey, slm Jul 7 '18 at 21:38

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    Many people in this sub hate historical questions which are either light technical or non technical in nature. But I usually get one who obliges to scratch my itch of curiosity... thanks @franscois P! : ) – Zach_is_my_name Jul 7 '18 at 19:12

Very Old versions of VI : use ctrl+Z to goto shell (vi goes background) & do what you need fg get back vi to foreground & continue working...

less old versions of VI : use either ctrl+Z either :e command ; depending if you know what file to open

recent VI versions (including VIM) : completion is present on all those versions use buffers :e . to browse files :ls to list buffers use splits & vsplits if needed to see many files opened at once else open only one buffer at a time

vim 8.1 & more recent use :terminal to open a terminal inside you vim session. so you can use you git or compile or do anything you need....

Not the answer you're looking for? Browse other questions tagged or ask your own question.