天天看點

用Vim完成BashShell腳本編寫(bash-support : Bash IDE)

作為一名運維工程師,BashShell腳本編寫必不可少。然而,大家會發現專門用來編寫BashShell腳本的IDE少之又少。但是,即使這樣也阻止不了我們自己通過vim來打造一款屬于自己的BashShell腳本開發環境。通過以下指令及設定,我們可以很友善的完成BashShell腳本開發環境的搭建,難免疏漏,望指正。

通過以上步驟,我們初步實作了bash-support的安裝與設定。接下來我們來開始自定義設定,盡情享受便捷工具帶來的樂趣吧!

第一步:将vi的别名設定為vim,這樣每次我們輸入vi時進入的就是vim了。

第二步:個性化配置。

(1)建立任意一個.sh檔案,使用vi編輯。

[BashShell@Geeklp-BashShell ~]$ vi test.sh

退出插入模式:

用Vim完成BashShell腳本編寫(bash-support : Bash IDE)

輸入\ntw(依次輸入這四個字元):

用Vim完成BashShell腳本編寫(bash-support : Bash IDE)

選擇3,連續按下2次Enter鍵,填入自定義個人資訊,儲存退出。

用Vim完成BashShell腳本編寫(bash-support : Bash IDE)

(2)使用示例。

- 插入注釋。在普通模式下輸入:\cfr,輸入完畢之後按Enter鍵。

用Vim完成BashShell腳本編寫(bash-support : Bash IDE)

- 插入語句(n – 普通模式, i – 插入模式,v - 可視模式)。

\sc – case in … esac (n, i)

\sei – elif then (n, i)

\sf – for in do done (n, i, v)

\sfo – for ((…)) do done (n, i, v)

\si – if then fi (n, i, v)

\sie – if then else fi (n, i, v)

\ss – select in do done (n, i, v)

\su – until do done (n, i, v)

\sw – while do done (n, i, v)

\sfu – function (n, i, v)

\se – echo -e “…” (n, i, v)

\sp – printf “…” (n, i, v)

\sa – array element, ${.[.]} (n, i, v) 更多數組特征。

用Vim完成BashShell腳本編寫(bash-support : Bash IDE)

更多按鍵映射詳見下圖:

用Vim完成BashShell腳本編寫(bash-support : Bash IDE)

(3)在 Vi 編輯器中使用運作操作。

下面是一些運作操作鍵映射的清單:

\rr – 更新檔案,運作腳本(n, i)

\ra – 設定腳本指令行參數 (n, i)

\rc – 更新檔案,檢查文法 (n, i)

\rco – 文法檢查選項 (n, i)

\rd – 啟動調試器(n, i)

\re – 使腳本可/不可執行(*) (n, i)

執行時無需提前在檔案上新增執行權限。如果需要給檔案新增執行權限請輸入\re,按一次Enter鍵,輸入O或者不輸入直接Enter鍵。

用Vim完成BashShell腳本編寫(bash-support : Bash IDE)

(4)在腳本中使用預定義代碼片段。預定義代碼片段是為了特定目的包含了已寫好代碼的檔案。為了添加代碼段,輸入 \nr 和 \nw 讀/寫預定義代碼段。輸入下面的指令列出預設的代碼段:

為了使用代碼段,例如 create-tempfile,輸入 \nr 并使用自動補全功能選擇它的名稱,然後輸入Enter鍵:

用Vim完成BashShell腳本編寫(bash-support : Bash IDE)

我們也可以在~/.vim/bash-support/codesnippets/目錄下編寫你自己的代碼段。另外,還可以從你正常的腳本代碼中建立你自己的代碼段:選擇想作為代碼段的部分代碼,然後輸入 \nw 并給它一個相近的檔案名。

用Vim完成BashShell腳本編寫(bash-support : Bash IDE)

參考資料:

<a href="https://wolfgangmehner.github.io/vim-plugins/bashsupport.html">https://wolfgangmehner.github.io/vim-plugins/bashsupport.html</a>

<a href="https://www.tecmint.com/use-vim-as-bash-ide-using-bash-support-in-linux/">https://www.tecmint.com/use-vim-as-bash-ide-using-bash-support-in-linux/</a>

繼續閱讀