使用bash-support插件把Vim变成你的Bash-IDE

这篇文章是正在连载的Vi/Vim 提示与技巧系列的一部分。作为一个Linux系统管理员或者程序员,在编写bash shell脚本的时候,你可能一直在做以下重复的工作:
· 添加文件头
· 添加函数/块注释
· 包含固定的代码片段
· 执行代码检查
· 阅读一个函数的文档
· 把一个代码块注释掉,或者取消一个代码块的注释
bash-Support Vim 插件提供了最简单的办法来提供上述功能,可以节省大量的时间和击键。
该插件由Fritz Mehner编写,他曾这样解释自己编写这个插件的目的:“使用菜单和热键来编写和执行BASH脚本”。
这篇文章介绍如何用3步简单的来安装这个插件,并介绍该插件8个强有力的特性。
3 步安装 bash-support 插件
第一步:下载bash-support 插件
从vim.org下载插件:
$ cd /usr/src
$ wget -O bash-support.zip http://www.vim.org/scripts/download_script.php?
src_id=9890
第二步: 安装bash-support Vim 插件
$ mkdir ~/.vim # if the directory does not exist already
$ cd ~/.vim
$ unzip /usr/src/bash-support.zip
第三步: 在~/.vimrc中启动这个插件
Add the following line to the ~/.vimrc to enable the plugin for Vim editor.
把下列行添加到~/.vimrc文件来启动这个Vim编辑器的插件。
$ vim ~/.vimrc
filetype plugin on
8个很有用的特性
特性1:自动向sh文件中添加文件头部
当你打开一个以sh为后缀的文件时,文件中会包含以下文件头。然后进入插入状态,光标会移动到DESCRIPTION位置。
!/bin/bash
============================================================
#
FILE: myscript.sh
#
USAGE: ./myscript.sh
#
DESCRIPTION:
#
OPTIONS: —
REQUIREMENTS: —
BUGS: —
NOTES: —
AUTHOR: (),
COMPANY:
VERSION: 1.0
CREATED: 02/14/09 15:42:08 IST
REVISION: —
============================================================
可以通过在~/.vimrc中添加以下内容以改变默认的AUTHOR和COMPANY的值。
let g:BASH_AuthorName = ‘SathiyaMoorthy’
let g:BASH_Email = ‘subscribe@thegeekstuff.com’
let g:BASH_Company = ‘Open Source Corporation’
然后,当你新建一个bash-script文件的时候,它将在文件头中显示编辑之后的AUTHOR和COMPANY值,如下所示:
!/bin/bash
============================================================
#
FILE: myscript.sh
#
USAGE: ./myscript.sh
#
DESCRIPTION:
#
OPTIONS: —
REQUIREMENTS: —
BUGS: —
NOTES: —
AUTHOR: SathiyaMoorthy (), subscribe@thegeekstuff.com
COMPANY: Open Source Corporation
VERSION: 1.0
CREATED: 02/14/09 15:39:58 IST
REVISION: —
============================================================
注: 要往文件头中添加自定义域,需要编辑 ~/.vim/bash-support/templates/bash-file-header ,添加你自己的自定义域。
特性2: 使用/sfu添加Bash函数
要编写一个子程序,在正常模式下输入/sfu,这样就会弹出function name的提示(如图1所示),然后插入带有默认函数注释的函数(如图2所示)。
图1:在shell脚本中键入/sfu来添加一个bash函数
图2:在shell脚本中自动添加的Bash函数
特性3:使用/cfu来插入一个函数头
如果想要插入一个函数头,在正常模式下输入/cfu,这将添加如图3所示的函数头注释。
图 3:在shell脚本中键入/cfu来插入一个函数头
特性4:使用/cfr添加一个块(Frame,不知道翻译的对不对)注释
要添加一个块注释,在正常模式下输入/cfr,这将产生如图4所示的格式化注释。
图4:在shell脚本中输入/cfr来插入一个块注释
特性5: 在shell脚本中插入bash语句模板
语句模板的快捷键如下所示:
· /sc case in … esac
· /sl elif then
· /sf for in do done
· /sfo for ((…)) do done
· /si if then fi
· /sie if then else fi
· /ss select in do done
· /st until do done
· /sw while do done
· /sfu function
· /se echo ­e “/n”
· /sp printf “/n”
例子:在shell脚本中自动插入Case语句模板。
如图5所示,在插入模式下,输入/sc将插入case 语句模板,然后将光标定位到case旁边。以此类推,你可以使用上面提到的快捷键来得到table1中的适当语句。
图5:在shell脚本中输入/sc来插入case语句
特性 6:在Bash脚本中使用/nr插入预先定义的代码片段
代码片段可以分别得使用/nr和/nw分别进行读和写。插件自身带了一些预定义的代码片段以供您插入到您的代码中去。以下是插件默认提供的代码片段:
$ ls -1 ~/.vim/bash-support/codesnippets/
assert
basename+pathname
basename-function
check-number-of-command-line-arguments
create-tempfile
create-tempfile-with-trap
free-software-comment
read-and-split-into-array
timestamp
usage-and-command-line-arguments.noindent
use-file-descriptor-read
use-file-descriptor-write
well-behaved-script
如果要引入check-number-of-command-arguments代码片段,键入/nr之后你将被提示输入一个文件名。输入的文件名将赋给check-number-of-command-line-arguments 并在shell脚本中自动插入下面的代码:
———————————————————————–
Check number of command line arguments
———————————————————————–
if [ $# -lt 1 ]
then
echo -e “/n/tUsage: ${0##/*/} File/n”
exit 1
fi
注: 你可以定义自己的代码片段并把它放到~/.vim/bash-support/codesnippets/中,你也可以从现有的代码中建立自己的代码片段——在代码中选中需要作为代码片段的部分,输入/nw,然后命名为一个文件。下一次,输入/nr和文件的名字就可以得到自定义的代码片段了。
特性7:得到Bash内建命令的快速帮助
当你需要查看鼠标所在位置的Bash内建命令的帮助页时,输入/hh.在接下来的例子(图6所示)中,选中Bash内建命令read,键入/hh,然后可以看到read命令的快速帮助。可以使用同样的方法来得到其他Bash内建命令的快速帮助。
图6:输入/hh来得到选中的bash内建命令的快速帮助
特性8: Featured 注释
下面的命令将添加相应的关键字注释。举例来说,输入/ckb在shell脚本中添加BUG注释行。
· /ckb Keyword BUG
· /ckt Keyword TODO
· /ckr Keyword Tricky
· /ckw Keyword WARNING
输入/cbk来添加带有”#:TODO:mm/dd/yy”关键字的注释行。This is basically a comment line that acts as a TODO, where you can type the items that you would like to get it done later.
图7: 在shell脚本中输入/ckb来添加TODO
bash-support插件有很多很有用的特性,你可以通过读取帮助文档来得到更多信息。帮助文档放置在你系统的下述位置:
· README : ~/.vim/README.bashsupport
· PDF : ~/.vim/bash-support/doc/bash-hot-keys.pdf
· bash-support插件在线帮助文档
· 在Vim中通过:h bashsupport 来查看插件所附带的帮助文件(bashsupport.txt)
· 在Vim中通过:helptags ~/.vim/doc, 来生成文档标签,然后输入:h bashsupport
· 本插件的更多屏幕截图.

本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。如发现有害或侵权

Leave a Reply