Q:

Wordpress wp_head() breaks admin post

I am trying to add some CSS files and JS files associated to a plugin using the hook.
add_action( 'wp_enqueue_scripts', 'vu_add_scripts' );

the function was not firing untill I added:
wp_head();

However, now whenever I try to add or edit a post I get the error:
Cannot modify header information - headers already sent by (output started at /Users/warrenday/Sites/Channel4/Admin/wp-includes/general-template.php:2363)

Am I putting wp_head in the wrong place? Here is the whole thing in context.
function vu_add_scripts(){
$plugin_url = plugin_dir_url( __FILE__ );
    wp_enqueue_script('jquery');
    wp_enqueue_style( 'vu-style', $plugin_url . 'css/style.css' );
    wp_enqueue_script( 'vu-functions', $plugin_url . 'js/functions.js' );
}
add_action( 'wp_enqueue_scripts', 'vu_add_scripts' );

wp_head(); /* Fires the command to add files to head */

A:

wp_head() is for the front-end only, as is wp_enqueue_scripts.
Use admin_enqueue_scripts like so: 
function vu_add_scripts( $hook ) {
    $plugin_url = plugin_dir_url( __FILE__ );
    wp_enqueue_script( 'jquery' );
    wp_enqueue_style( 'vu-style', $plugin_url . 'css/style.css' );
    wp_enqueue_script( 'vu-functions', $plugin_url . 'js/functions.js' );
}

add_action( 'admin_enqueue_scripts', 'vu_add_scripts' );

