Skip to content

[VIM] 直接編譯或執行寫好的程式

Last Updated on 2021-06-22 by Clay

一般我們使用 IDE 來撰寫程式的時候,我們經常會使用 IDE 設定好的快捷鍵迅速編譯、執行程式,這是個相當方便的功能。

本篇文章紀錄如何在 VIM 上配置一樣的功能:只要使用快捷鍵,便能將當前編輯的程式碼執行。本文以 Python 舉例。


安裝 VIM 的外掛管理套件 Vundle

已經安裝過的可以直接跳過。

首先,若是 ".vim" 資料不存在的話需要先建立此資料夾,然後再從 Github 上取得 Vundle 項目:

mkdir ~/.vim
mkdir ~/.vim/bundle
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

至此,Vundle 已經存在於我們的環境當中。


安裝 VIM 套件

然後,使用以下指令編輯 .vimrc 設定檔:

vim ~/.vimrc

然後在設定要安裝的套件:

" Plugins
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'tell-k/vim-autopep8'
call vundle#end()
filetype plugin indent on

" Press F10 to execute Python script
map :Autopep8 :w :call RunPython()
function RunPython()
    let mp = &makeprg
    let ef = &errorformat
    let exeFile = expand("%:t")
    setlocal makeprg=python3\ -u
    set efm=%C\ %.%#,%A\ \ File\ \"%f\"\,\ line\ %l%.%#,%Z%[%^\ ]%\@=%m
    silent make %
    copen
    let &makeprg = mp
    let &errorformat = ef
endfunction

上方是需要安裝的套件、下方則是我們定義的 Python 執行函式。

順帶一提, "autopep8" 是一個能夠將 Python 程式碼自動排版為 PEP8 格式的工具,著名的 Python IDE —— PyCharm,也是使用 autopep8 來自動修復排版問題。

當然,我們雖然設定好了我們要的外掛工具,但是我們還沒有安裝。在 VIM 編輯器中使用以下指令:

:PluginInstall

我們會看到我們剛才的列表都陳列在左手邊並一個個被安裝。直到最底下跳出 "Done" 的字樣,即代表安裝成功。


測試快捷鍵

現在,我們來測試一下剛才設定的效果。在我的設定中,我是以 F10 作為我的快捷鍵,這是為了不要跟我習慣使用的 PyCharm 搞混。

當然,你可以自由設定自己想要的快捷鍵。假設我有個以下這樣的程式:

print('Hello World!')



然後,我按下 F10:

我的 VIM 編輯器底下,自動顯示出了執行後的結果。

希望大家都能順利配置自己的 VIM 環境!順帶一提,由於我還是不習慣這樣執行 VIM 的程式,所以後來還是都乖乖存檔退出,使用 "python3" 指令來執行檔案了。


References


Read More

Tags:

Leave a Reply