Vim對程式員來說,都不陌生。那究竟有沒有什麼方法可以更高效的學習 Vim 呢?肯定是有。那麼,今天就跟大家介紹一款開源項目:<code>PacVim</code>
<code>PacVim</code>是一個讓你通過玩遊戲學習 Vim 指令的遊戲,你隻需要移動<code>pacman 綠色光标</code>來突出顯示遊戲闆上的每個單詞,同時避免出現<code>紅色障礙物</code>。PacVim 來自 Github 開發者:<code>Jamal Moon</code>,為了幫助自己學習 VIM,讓學習變的更加輕松,是以也就開發出了這款遊戲。

VIM 是編輯代碼的好工具,但包括<code>Jamal Moon</code>在内的許多人都在艱難的學習中掙紮,同時也并沒有找到一種有趣的方法來深入了解 VIM 指令,是以 PacVim 這款遊戲就誕生了。受經典 PacMan 的啟發,它将給任何人以 VIM 指令進行大量練習的同時,還給大家帶來了很多樂趣。
PacVim 已經編譯為 HomeBrew 包,如果你是 mac 使用者,可執行如下指令進行安裝。
下載下傳,編譯和安裝 GNU ncurses(圖形庫)
GNU ncurses 是提供 API 的程式設計庫,允許程式員以與終端無關的方式編寫文本使用者界面。
以 Ubuntu 為例,可在終端中執行指令:
或通過源碼包的方式解壓,編譯,安裝;(源碼包版本下載下傳位址:ftp.gnu.org/pub/gnu/ncu…
或者通過 git 的方式進行安裝;
也可以使用<code>Docker 鏡像</code>來運作,直接執行如下代碼,就可以<code>啟動 PacVim 遊戲</code>了。
LEVEL_NUMBER 取值範圍為 0-9,數字越大,難度越高。
MODE 可選 N 或 H,N 表示 Normal(正常難度);H 則表示 Hard(困難)。
如果你是在 Ubuntu 環境下安裝的<code>PacVim</code>,可直接執行如下指令進行啟動遊戲。
PacVim 的目标與 PacMan 相似,必須在終端下啟動<code>PacVim 遊戲</code>,并在螢幕上運作所有字元,同時避免出現<code>紅色G</code>的障礙。
1、不能進入牆壁(黃色),需必須使用 vim 指定指令進行跳過它們。
2、如果踩波浪号字元(cyan ~),則會輸掉!
PacVim 的地圖檔案是從<code>/usr/local/share/pacvim-maps</code>檔案夾中的文本檔案加載的,安裝完成後,可以調用來使用maps檔案夾<code>make MAPDIR=maps</code>。
每個文本檔案的名稱都是采用<code>map#.txt</code>的格式,其中<code>#</code>代表數字,例如<code>0、1、9、14</code>等;并確定在<code>GLOBALS.CPP</code>中更改了<code>NUM_OF_LEVELS</code>個,否則将無法加載新的地圖,等于最高的地圖編号。
在地圖文本檔案中,牆壁用<code>&</code>符号表示<code>#</code>,而波浪号用<code>~</code>表示,必須限制地圖的邊界并使其封閉。
獲勝條件:使用<code>vim</code>指令将光标移至字母上方并突出顯示,在所有字母顯示後,将赢得并進入下一關。
失敗條件:如果觸碰到<code>障礙物(紅色G)</code>或<code>波浪号</code>字元,将會失敗。如果您的生命少于0,則會輸掉整個遊戲。
如果大家對這個項目感興趣并想通過這個項目學習鞏固一下 Vim 知識,可以去體驗一下。
Github 位址:github.com/jmoon018/Pa…
本文完。