add c++11
add custom vim file
use std::function for evaluate method