aligrudi / neatvi

A small vi/ex editor for editing UTF-8 text
http://litcave.rudi.ir/
320 stars 27 forks source link

How to deal without filepath completions? #67

Closed lobre closed 11 months ago

lobre commented 11 months ago

Hello,

From what I can see, neatvi does not provide file completion such as what is done for example in nvi.

image

I guess it might be too complex and so that is why it is not implemented?

And if that is the case, how do you deal with filepath? Do you type them blindly in ex commands? Or do have tricks that make use of gf to open files under the cursor, or maybe you only navigate using tags?

Thanks

aligrudi commented 11 months ago

Loric Brevet @.***> wrote:

From what I can see, neatvi does not provide file completion such as what is done for example in nvi.

image

I guess it might be too complex and so that is why it is not implemented?

Yes. Neatvi does not support that.

And if that is the case, how do you deal with filepath? Do you type them blindly in ex commands? Or do have tricks that make use of gf to open files under the cursor, or maybe you only navigate using tags?

I usually use file listings for large projects. One can use git or find to generate such a file, or create it manually.

$ git ls-files >ls
$ vi ls

There is nothing special about such files, except that neatvi highlights them (files whose names end with "ls"). Its lines can be reordered (for instance to move more frequently edited files to the top) or removed; arbitrary text, like comments can also be added (neatvi highlights lines beginning with # as comments).

# working on feature A
src/base_directory/sub_directory/file1.c
src/base_directory/sub_directory/file2.c
src/base_directory/Makefile
# the rest of the files
src/main.c
..

To open a file I use gl (or gf).

For opening ./ls, if you prefer to use ql instead of ":e ls", you can add a q-command for that.

Also, neatvi replaces = with the directory of the current file. For instance, if file1.c is being edited in the above example, ":e =file2.c" can be used to edit file2.c

Ali
lobre commented 11 months ago

Thanks a lot for explaining this workflow, I saw this ls behaviour on the README but did not realize it could be used in such a way! That seems powerful while staying simple. Closing this issue then.