bashsupport插件_如何用 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 插件:
$cdDownloads
$ 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-inon
setnumber#可选,增加这行以在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 设置个性化文件,然后按回车键。
$vitest.sh
在脚本文件中设置个性化信息
之后,再次输入回车键。然后再一次选中选项 1 设置个性化文件的路径并输入回车。
设置个性化文件路径
设置向导会把目标文件 .vim/bash-support/rc/personal.templates 拷贝到.vim/templates/personal.templates,打开并编辑它,在这里你可以输入你的信息。
按 i 键像截图那样在单引号中插入合适的值。
在脚本文件头添加信息
一旦你设置了正确的值,输入 :wq 保存并退出文件。关闭 Bash 测试脚本,打开另一个脚本来测试新的配置。现在文件头中应该有和下面截图类似的你的个人信息:
$vitest2.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
就是这些啦,在这篇文章中,我们介绍了在 Linux 中使用 Bash-support 插件安装和配置 Vim 为一个 Bash-IDE 的步骤。快去发现这个插件其它令人兴奋的功能吧,一定要在评论中和我们分享哦。
原文发布时间为:2017-05-02
本文来自云栖社区合作伙伴“Linux中国”
bashsupport插件_如何用 bash-support 插件将 Vim 编辑器打造成编写 Bash 脚本的 IDE相关推荐
- 实用插件_这些实用的PR插件你知道吗?
学习PR,安装使用插件必定是绕不开的过程.一款强大的插件可以节省剪辑时间,极大的提高工作效率. 常见的视频插件类型想必大家都知道,无非是包括调色.降噪.字幕.特效四种. 调色:Magic Bullet ...
- 组件 模块 插件_播放2 –模块,插件有什么区别?
组件 模块 插件 关于Play 2模块和插件似乎有些困惑. 我想这是因为两者经常是同义词. 在Play(两个版本-1和2)中,存在明显的差异. 在本文中,我将研究什么是插件,如何在Java和Scala ...
- python处理ppt的插件_几款PPT神器插件,千万不能错过!
本文首发于公众号"干货plus" 虽然说本身PPT的功能就已经很强大了,但是,如果借助一些官方或非官方的PPT插件,就能快速制作高逼格的PPT,十分节省时间,无论是上班一族还是学生 ...
- python使用rpa需要什么插件_使用Python制作ArcGIS插件基础篇——工具介绍
ArcGIS从10.0开始支持addin(ArcGIS软件中又叫作加载项)的方式进行插件制作.相对于以往9.x系列,addin的无论是从使用或者编写都更加方便快捷.通过开发语言,可以制作ArcGIS ...
- html组态插件_组态 web组态 组态插件 编辑器 工业组态 物联网组态 组态编辑器...
插件简介 1.插件可用于,电力,水利,工厂,物联网等行业.插件演示见 http://94.191.39.192:8080/jyzt-1.0/example.html (请使用谷歌浏览器或非ie浏览器 ...
- c4d python 插件_好用的C4D插件都在这里了,还不赶紧收藏起来?
学C4D少不了插件,有关C4D软件的插件实在是太多太多了,下面整理了一些常用的比较酷炫的分享给大家.[找不到插件的小伙伴可以见文章末尾!!!] 一.Signal Signal是GSG出品的一款C4D程 ...
- BootStrap-CSS样式_插件_工具提示(Tooltip)插件
工具提示(Tooltip)插件 当您想要描述一个链接的时候,工具提示(Tooltip)就显得非常有用.工具提示(Tooltip)插 件是受 Jason Frame 写的 jQuery.tipsy 的启 ...
- python 题库自动答题,自动匹配题库_如何用python写一个从题库自动匹配的答题脚本_淘题吧...
A. web数据库题目:根据用户输入的用户名和密码于数据库中的记录是否匹配制作一个用户登录模块 http://blog.csdn.net/love_leve/article/details/43226 ...
- vscode markdown插件_如何用Markdown写公众号
前情介绍 小编使用的是mac笔记本,由于职业的关系需要编写很多技术文档和技术方案,本人喜欢用vscode编辑器利的插件来写markdown文章,本文介绍的是如何通过使用vscode来编写图文并茂的公众 ...
最新文章
- ​10.24,华为鲲鹏要为程序员发福利!
- pyqt setStyleSheet用法
- 使命召唤5该服务器没有响应,使命召唤5突然就建不了服务器了~~~求高人帮忙~~...
- Linux USB 驱动开发实例 (三)—— 基于USB总线的无线网卡浅析
- cesium label 显示隐藏到地底下
- 计算机二级公共基础知识2020版电子版,2020年计算机二级考试公共基础知识背诵笔记...
- selenium配置无界面chrome浏览器
- hihocoder 1449 : 后缀自动机三·重复旋律6(后缀自动机)
- SQL-SERVER触发器
- python画二维温度云图_怎么用Python画出好看的词云图?
- Hebb和Delta学习规则
- 24岁,一门手艺,年入百万
- 在Android上加载具有AI危害检测的TensorFlow模型
- SIGIR 2022 | 港大等提出超图对比学习在推荐系统中的应用
- 超详细——python把中文汉字转成拼音xpinyin,pypinyin,snownlp三种方法
- QQ空间热修复原理深入解析
- php企业微信付款到零钱,PHP实现微信商户支付企业付款到零钱功能
- 关于小米文件管理器的介绍及源码下载
- php防变量注入,浅谈PHP防注入
- 在misc中涉及的二维码
热门文章
- POJ 1276 ATM凑钱(动态规划)(未解答)
- pythonselenium提高爬虫效率_[编程经验] Python中使用selenium进行动态爬虫
- js固定表格行列_纯前端表格控件SpreadJS V14.0发布:组件化编辑器+数据透视表
- java 钩子线程_java-钩子线程
- 图灵奖大佬 Lecun 发表对比学习新作,比 SimCLR 更好用!
- 推荐模型是怎样由窄变宽、越变越深的?
- java架构师进阶独孤九剑系列(一):数据结构与算法
- 论文浅尝 | Dynamic Weighted Majority for Incremental Learning
- 【搜索/推荐排序】总结
- 基于改进SSD的车辆小目标检测方法