來,久等了,星起來,星起來 OuO
為什麼叫做 runner ?
1. 恩....好像沒有其他人寫類似的東西2. 想要一鍵編譯加執行
3. 總之除了懶我已經想不到其他形容詞 OuO
安裝
Plug 'aben20807/vim-runner'
:PlugInstall
使用方式
支援語言:C, C++, Python, Rust, Markdown其中 Markdown 還需要其他 plugin:iamcco/markdown-preview.vim
按 F5 就編譯加執行啦
Python 是直譯所以沒有編譯
Markdown 是打開瀏覽器預覽
可自訂變數
是否使用預設的按鍵,預設值是 1 就是有使用let g:runner_use_default_mapping = 1
編譯前是否先儲存檔案
let g:runner_is_save_first = 1
是否印出時間戳記,也就是 demo 中的<<紅字>>
let g:runner_print_timestamp = 1
是否印出程式執行使用時間,像是
real 0m0.035s
user 0m0.000s
sys 0m0.030s
let g:runner_print_time_usage = 1
是否顯示執行訊息,好像有沒有開都沒訊息....
let g:runner_show_info = 1
是否自動刪除暫存檔
就是編譯後這個 plugin 會產生一個暫存檔,然後再去執行這個暫存檔
let g:runner_auto_remove_tmp = 0
要用哪個按鍵編譯加執行
let g:runner_run_key = "<F5>"
暫存檔的存放位置,如果改成 "./" 就是輸出到當前資料夾喔 OuO
let g:runner_tmp_dir = "/tmp/vim-runner/"
若有用 w0rp/ale 這個 plugin 會有點小麻煩,需要先關閉
所以我就順便寫了自動關閉,如果原本有開啟執行完後會自動開啟,有裝 ale 記得設成 1
let g:runner_is_with_ale = 0
markdown 要運作需要使用 iamcco/markdown-preview.vim,裝了之後記得把此變數變 1
let g:runner_is_with_md = 0
各個編(直)譯器的執行檔位置,可以直接給路徑
let g:runner_c_executable = "gcc" let g:runner_cpp_executable = "g++" let g:runner_rust_executable = "cargo" let g:runner_python_executable = "python3"
編譯選項,可以自改成 c++11, gnu99....
有在寫 online judge 的可以把 cpp 的改成用 "-std=c++14 -Wall -lm -O2 -pipe"
let g:runner_c_compile_options = "-std=c11 -Wall" let g:runner_cpp_compile_options = "-std=c++14 -Wall" let g:runner_rust_compile_options = ""
執行選項,覺得這是厲害之所在
就是可以自訂測資輸入檔,答案太多行不想輸出到螢幕,也可以導到輸出檔中
像我解題目就是下面兩行切換使用
let g:runner_cpp_run_options = "< test.in"
let g:runner_cpp_run_options = "< test.in > test.out"
以第一行和執行 UVa 574 Sum It Up 當作範例
以第二行和執行 UVa 574 Sum It Up 當作範例
let g:runner_c_run_options = "" let g:runner_cpp_run_options = "" let g:runner_rust_run_backtrace = 1 let g:runner_rust_run_options = ""
沒有留言:
張貼留言