As always, the help is your best friend:
:h :command
:
:com[mand][!] [{attr}...] {cmd} {rep}
Define a user command. The name of the command is
{cmd} and its replacement text is {rep}. The command's
attributes (see below) are {attr}. If the command
already exists, an error is reported, unless a ! is
specified, in which case the command is redefined.
Thus :command!
is used to create a new command that you can use from the command line. Here the new command is :Find
and it is used to execute fzf#vim#grep()
which is a call to the plugin fzf
which will allow to fuzzy find some files.
The other arguments are described in the documentation:
:h :command-nargs
-nargs
is used to make the new command able to take an argument :Find arg1
:h :command-bang
-bang
is used to make the new command able to interpret a !
like in :Find!
The !
right after command
is used to tell vim to redefine the command if it already exists, this way when you source your .vimrc
you don't have an error message.
As for the arguments passed to the fzf
function, I'll let you read the doc of the plugin to see what they do :)