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
· 在Vim中通过:h bashsupport 来查看插件所附带的帮助文件(bashsupport.txt)
· 在Vim中通过:helptags ~/.vim/doc, 来生成文档标签,然后输入:h bashsupport
评论