added filetype-specific compiling and key mappings