First, I recommend manipulating twig as the ultimate last resort. Drupal provides some core and third-party modules that allow you to manipulate how an entity is rendered:
- Layout Builder allows you to manipulate an entity's display with layouts.
- This allows you to create layouts, and use layouts to position fields and blocks on the page.
- Drupal has a very predictable field structure (wrapper, label, value).
- The Fences module allows you to manipulate field markup, add classes, etc.
- Views, just like fields, also has a very predictable markup structure.
- Views also has a built-in way to change field markup, add classes.
I would exhaust those options first before resorting to twig, as those options allow you to manipulate the appearance of an entity without hardcoding everything into a twig file.
As for Views, it has two ways of rendering an entity. You either go the fields route where you render individual fields, or you surrender rendering to the entity where the the entity Displays are rendered instead of fields.
Drupal 8+ also has a bug where theme suggestions for various parts of the view are not printed in HTML comments. You can find these suggestions here. For convenience, here are some of the options:
views-view--foobar--page.html.twig
views-view--page.html.twig
views-view--foobar.html.twig
views-view.html.twig
views-view-unformatted--foobar--page.html.twig
views-view-unformatted--page.html.twig
views-view-unformatted--foobar.html.twig
views-view-unformatted.html.twig
views-view-fields--foobar--page.html.twig
views-view-fields--page.html.twig
views-view-fields--foobar.html.twig
views-view-fields.html.twig