这篇文章是正在连载的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 · 本插件的更多屏幕截图. |
本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。如发现有害或侵权