如何用 bash-support 插件將 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 插件:http://www.vim.org/scripts/script.php?script_id=365
就是這些啦,在這篇文章中,我們介紹了在 Linux 中使用 Bash-support 插件安裝和配置 Vim 為一個 Bash-IDE 的步驟。快去發現這個插件其它令人興奮的功能吧,一定要在評論中和我們分享哦。
作者簡介:
Aaron Kili 是一個 Linux 和 F.O.S.S 愛好者、Linux 系統管理員、網路開發人員,現在也是 TecMint 的內容創作者,她喜歡和電腦一起工作,堅信共享知識。
via: http://www.tecmint.com/use-vim-as-bash-ide-using-bash-support-in-linux/
作者:Aaron Kili 譯者:ictlyh 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive