[Beschreibung]
Es gibt oft diese Anforderung: In der Linux-Befehlszeile hoffe ich, die aktuell bearbeitete Skriptdatei im Test auszuführen, ohne Vim zu verlassen (z. B. manchmal etwas zu drucken)
Ich kenne eine einzelne Sprache wie Python,<leader>r :!python %<cr>
Ich wei?, dass die Shell in Vim aufgerufen werden kann, aber wie kann man mehrere Sprachen einer Tastenkombination zuordnen (vorl?ufig als <Leader>r geplant)?
基本思路是使用autocmd
根據(jù)當(dāng)前緩沖的文件的類型或者語法的類型添加不同的map
命令。
例如,如果只需要編譯/執(zhí)行當(dāng)前文件,則可以在你的vimrc
文件中為每個不同的文件類型添加如下內(nèi)容:
autocmd FileType sometype nnoremap <buffer> <F5> :w<CR>:!somecompiler % <CR>
對 python 來說,就是
autocmd FileType python nnoremap <buffer> <F5> :w<CR>:!python % <CR>
其中<F5>
可以改成其他你想映射的鍵位,如<leader>r
。
如果你需要跨平臺,可以參考這里。
如果你需要更高級的功能,如多文件編譯、運行文件中的部分代碼等,就需要自己寫 VIM 腳本了。python 的可以參考這里。
在vim的fplugin目錄中創(chuàng)建文件 [語言名].vim
然后把對應(yīng)語言的配置寫到這個文件中,vim就會根據(jù)文件后綴自動加載這些配置
給文件加執(zhí)行權(quán)限,文件頭加上
\#!/bin/bash \#!/usr/bin/python \#!/usr/bin/ruby
每次要運行的時候 :./ 這個文件就好了。