如何用 bash-support 插件將 Vim 編輯器打造成編寫 Bash 腳本的 IDE
IDE(集成開發環境)就是這樣一個軟件,它為了最大化程序員生產效率,提供了很多編程所需的設施和組件。 IDE 將所有開發工作集中到一個程序中,使得程序員可以編寫、修改、編譯、部署以及調試程序。
在這篇文章中,我們會介紹如何通過使用 bash-support vim 插件將 Vim 編輯器安裝和配置 為一個編寫 Bash 腳本的 IDE。
什麼是 bash-support.vim 插件?
bash-support 是一個高度定製化的 vim 插件,它允許你插入:文件頭、補全語句、注釋、函數、以及代碼塊。它也使你可以進行語法檢查、使腳本可執行、一鍵啟動調試器;而完成所有的這些而不需要關閉編輯器。
它使用快捷鍵(映射),通過有組織地、一致的文件內容編寫/插入,使得 bash 腳本編程變得有趣和愉快。
插件當前版本是 4.3,4.0 版本 重寫了之前的 3.12.1 版本,4.0 及之後的版本基於一個全新的、更強大的、和之前版本模板語法不同的模板係統。
如何在 Linux 中安裝 Bash-support 插件
用下麵的命令下載最新版本的 bash-support 插件:
$ cd Downloads
$ curl http://www.vim.org/scripts/download_script.php?src_id=24452 >bash-support.zip
按照如下步驟安裝;在你的主目錄創建 .vim
目錄(如果它不存在的話),進入該目錄並提取 bash-support.zip 內容:
$ mkdir ~/.vim
$ cd .vim
$ unzip ~/Downloads/bash-support.zip
下一步,在 .vimrc
文件中激活它:
$ vi ~/.vimrc
並插入下麵一行:
filetype plug-in on
set number # 可選,增加這行以在 vim 中顯示行號
如何在 Vim 編輯器中使用 Bash-support 插件
為了簡化使用,通常使用的結構和特定操作可以分別通過鍵映射來插入/執行。~/.vim/doc/bashsupport.txt
和 ~/.vim/bash-support/doc/bash-hotkeys.pdf
或者 ~/.vim/bash-support/doc/bash-hotkeys.tex
文件中介紹了映射。
重要:
- 所有映射(
\+字符
組合)都是針對特定文件類型的:為了避免和其它插件的映射衝突,它們隻適用於sh
文件。 - 使用鍵映射的時候打字速度也有關係,引導符
\
和後麵字符的組合要在特定短時間內才能識別出來(很可能少於 3 秒 - 基於假設)。
下麵我們會介紹和學習使用這個插件一些顯著的功能:
如何為新腳本自動生成文件頭
看下麵的示例文件頭,為了要在你所有的新腳本中自動創建該文件頭,請按照以下步驟操作。
腳本示例文件頭選項
首先設置你的個人信息(作者名稱、作者參考、組織、公司等)。在一個 Bash 緩衝區(像下麵這樣打開一個測試腳本)中使用映射 \ntw
啟動模板設置向導。
選中選項 1 設置個性化文件,然後按回車鍵。
$ vi test.sh
在腳本文件中設置個性化信息
之後,再次輸入回車鍵。然後再一次選中選項 1 設置個性化文件的路徑並輸入回車。
設置個性化文件路徑
設置向導會把目標文件 .vim/bash-support/rc/personal.templates
拷貝到.vim/templates/personal.templates
,打開並編輯它,在這裏你可以輸入你的信息。
按 i
鍵像截圖那樣在單引號中插入合適的值。
在腳本文件頭添加信息
一旦你設置了正確的值,輸入 :wq
保存並退出文件。關閉 Bash 測試腳本,打開另一個腳本來測試新的配置。現在文件頭中應該有和下麵截圖類似的你的個人信息:
$ vi test2.sh
自動添加文件頭到腳本
添加 Bash-support 插件幫助信息
為此,在 Vim 命令行輸入下麵的命令並按回車鍵,它會創建 .vim/doc/tags
文件:
:helptags $HOME/.vim/doc/
在 Vi 編輯器添加插件幫助
如何在 Shell 腳本中插入注釋
要插入一個塊注釋,在普通模式下輸入 \cfr
:
添加注釋到腳本
如何在 Shell 腳本中插入語句
下麵是一些用於插入語句的鍵映射(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
– 數組元素,${.[.]}
(n, i, v) 和其它更多的數組功能。
插入一個函數和函數頭
輸入 \sfu
添加一個新的空函數,然後添加函數名並按回車鍵創建它。之後,添加你的函數代碼。
在腳本中插入新函數
為了給上麵的函數創建函數頭,輸入 \cfu
,輸入函數名稱,按回車鍵並填入合適的值(名稱、介紹、參數、返回值):
在腳本中創建函數頭
更多關於添加 Bash 語句的例子
下麵是一個使用 \si
插入一條 if
語句的例子:
在腳本中插入語句
下麵的例子顯示使用 \se
添加一條 echo
語句:
在腳本中添加 echo 語句
如何在 Vi 編輯器中使用運行操作
下麵是一些運行操作鍵映射的列表:
-
\rr
– 更新文件,運行腳本(n, i) -
\ra
– 設置腳本命令行參數 (n, i) -
\rc
– 更新文件,檢查語法 (n, i) -
\rco
– 語法檢查選項 (n, i) -
\rd
– 啟動調試器(n, i) -
\re
– 使腳本可/不可執行(*) (n, i)
使腳本可執行
編寫完腳本後,保存它然後輸入 \re
和回車鍵使它可執行。
使腳本可執行
如何在 Bash 腳本中使用預定義代碼片段
預定義代碼片段是為了特定目的包含了已寫好代碼的文件。為了添加代碼段,輸入 \nr
和 \nw
讀/寫預定義代碼段。輸入下麵的命令列出默認的代碼段:
$ .vim/bash-support/codesnippets/
代碼段列表
為了使用代碼段,例如 free-software-comment,輸入 \nr
並使用自動補全功能選擇它的名稱,然後輸入回車鍵:
添加代碼段到腳本
創建自定義預定義代碼段
可以在 ~/.vim/bash-support/codesnippets/
目錄下編寫你自己的代碼段。另外,你還可以從你正常的腳本代碼中創建你自己的代碼段:
- 選擇你想作為代碼段的部分代碼,然後輸入
\nw
並給它一個相近的文件名。 - 要讀入它,隻需要輸入
\nr
然後使用文件名就可以添加你自定義的代碼段。
在當前光標處查看內建和命令幫助
要顯示幫助,在普通模式下輸入:
-
\hh
– 內建幫助 -
\hm
– 命令幫助
查看內建命令幫助
更多參考資料,可以查看文件:
~/.vim/doc/bashsupport.txt #在線文檔的副本
~/.vim/doc/tags
- 訪問 Bash-support 插件 GitHub 倉庫:https://github.com/WolfgangMehner/bash-support
- 在 Vim 網站訪問 Bash-support 插件:https://www.vim.org/scripts/script.php?script_id=365
就是這些啦,在這篇文章中,我們介紹了在 Linux 中使用 Bash-support 插件安裝和配置 Vim 為一個 Bash-IDE 的步驟。快去發現這個插件其它令人興奮的功能吧,一定要在評論中和我們分享哦。
原文發布時間為:2017-05-02
本文來自雲棲社區合作夥伴“Linux中國”
最後更新:2017-05-19 14:06:46