Vi on freeBSD? Do you know ee have been made for beign more user friendly? (btw vi is easy, INS -> do your stuff -> ESC and :wq, too difficult right? or having a cheatsheet near you might help)
The ports have been deprecated in favor of pkg (same thing as apt)
The kernel in freebsd is super stable nowadays, some things in OSX are based on bsd for a reason.
All the other problems that you mention are because you clearly didn't know how to handle those issues or you just didn't use man/docs enough.
Plus the BSD license is the real shit.
All hail freebsd