Wordpress - Why does WordPress have a noop.php file?

The description on top of the page you have linked gives an explanation:

Create a new file, wp-admin/includes/noop.php, which loads all of the noop functions for load-script|styles.php and is only loaded by those files. DRYs in the process. See #33813.

Additionally there is the trac ticket #33813 linked, which gives some additional insight. You generally shouldn't delete core files so consider noop.php as a necessary file.


Why noop.php?

Previously noop functions were duplicated across core in multiple places, and an effort was made to co-locate them to avoid this duplication. This was done in https://core.trac.wordpress.org/ticket/33813 as part of an organisation effort.

What Are Noop functions?

Noop, or No Op-eration functions, are useful for testing and mocking. They're also a way to implement the null pattern, of presenting APIs that don't do anything to act as placeholders for ones that do.

Can I remove it to let VIM better navigate the code?

I would not modify core, instead you should tell ctags to ignore that file. This question/answer on stackoverflow will help:

https://stackoverflow.com/questions/7736656/vim-and-ctags-ignoring-certain-files-while-generating-tags