[描述]經常有這種需求: 在Linux命令列中,希望不脫離Vim運行試驗下當前編輯的腳本文件(如有時候print一個東西)
單一語言如Python的我知道,<leader>r :!python %<cr>
<leader>r :!python %<cr>
我知道在Vim能呼叫shell,但是多個語言統一映射到一個快捷鍵(初步擬定為<Leader>r)如何做?
基本思路是使用autocmd根据当前缓冲的文件的类型或者语法的类型添加不同的map指令。
autocmd
map
例如,如果只需要編譯/執行當前文件,則可以在你的vimrc文件中為每個不同的文件類型添加如下內容:
vimrc
autocmd FileType sometype nnoremap <buffer> <F5> :w<CR>:!somecompiler % <CR>
對 python 來說,就是
autocmd FileType python nnoremap <buffer> <F5> :w<CR>:!python % <CR>
其中<F5>可以改成其他你想映射的键位,如<leader>r。
<F5>
<leader>r
如果你需要跨平台,可以參考這裡。
如果你需要更進階的功能,例如多檔案編譯、執行檔案中的部分程式碼等,就需要自己寫 VIM 腳本了。 python 的可以參考這裡。
在vim的fplugin目錄中建立檔案 [语言名].vim然後把對應語言的設定寫到這個檔案中,vim就會根據檔案後綴自動載入這些設定
[语言名].vim
為檔案加上執行權限,檔案頭加上#!/bin/bash #!/usr/bin/python #!/usr/bin/ruby 每次要運作的時候 :./ 這個檔案就好了。
推薦你使用vim-quickrun
map <leader>r :QuickRun<CR>
基本思路是使用
autocmd
根据当前缓冲的文件的类型或者语法的类型添加不同的map
指令。例如,如果只需要編譯/執行當前文件,則可以在你的
vimrc
文件中為每個不同的文件類型添加如下內容:對 python 來說,就是
其中
<F5>
可以改成其他你想映射的键位,如<leader>r
。如果你需要跨平台,可以參考這裡。
如果你需要更進階的功能,例如多檔案編譯、執行檔案中的部分程式碼等,就需要自己寫 VIM 腳本了。 python 的可以參考這裡。
在vim的fplugin目錄中建立檔案
[语言名].vim
然後把對應語言的設定寫到這個檔案中,vim就會根據檔案後綴自動載入這些設定
為檔案加上執行權限,檔案頭加上
#!/bin/bash #!/usr/bin/python #!/usr/bin/ruby
每次要運作的時候 :./ 這個檔案就好了。
推薦你使用
vim-quickrun