我map <F8> : w <bar> !clang -o %< % && ./%< <CR>在.vimrc里面,但我想映射F8以运行python代码.怎么可能?(显然我不希望clang运行python,我希望有条件或某些东西来重定向F8映射到的命令,基于已经指定的语言,例如通过:setf python等)
您正在寻找特定于文件类型的映射.将Python变体放入~/.vim/after/ftplugin/python.vim,并将<buffer>关键字添加到:map命令:
nnoremap <buffer> <F8> : w <bar> !python % <CR>
Run Code Online (Sandbox Code Playgroud)
这需要:filetype plugin on,但你可能已经有了.同样,您可以将原始映射移动到ftplugin/c.vim,或将其保留为所有文件类型的全局回退.
:noremap ; 它使映射不受重映射和递归的影响.:n[nore]map.