I do find $HOME -type f -name *.tex -exec grep -il $1 {} + | vim -I cannot exit vim with q only because it gives the error which I do not understand whyE37: No write since last change (add ! to override)So you have to do q! instead. However, I would like to let Vim know that there is nothing to override and use instead q. So probably, it could be reached by altering the find command. How can you find such that Vim knows there is no need of overriding?
Why do I need to use q! after `find ... | vim -`, i.e., reading from stdin?
quit
You can change vim - to vim -R -.  From the manual:Read-only  mode.   The  'readonly' option will be set.  You can still  edit the buffer, but will be prevented from accidently overwriting   a file.  If you do want to overwrite a file, add an exclamation mark  to  the  Ex  command,  as  in :w!.   The  -R  option  also  implies   the -n option (see below).  The 'readonly' option  can  be  reset   with  :set noro.  See :help 'readonly'.[The implied -n option disables the swap file.]It doesn't explicitly state it, but read-only mode also implies +nomodified.  That is, you won't be prompted to save upon exiting if you don't make any changes.  If you attempt to make changes, it will first warn you that you are modifying a readonly file, and then prompt you to save the file upon exiting.Depending on your system, view may also be a symlink to vim that is equivalent to vim -R.