If a package is required by other installed packages not mentioned in the list of packages to remove, pkg_delete will list those dependent packages and refuse to delete the package.
Mike Erderly suggested a quick hack to accomplish it:
$ /bin/ls -1a /var/db/pkg/ | grep -Ev "^(\.|\.\.)$" > plist $ vi plist # remove pkgs I want to KEEP (vim, ...) $ for f in `cat plist`; do sudo pkg_delete $f; done $ for f in `cat plist`; do sudo pkg_delete $f; done $ for f in `cat plist`; do sudo pkg_delete $f; done $ for f in `cat plist`; do sudo pkg_delete $f; done