今天小编要跟大家分享的文章是关于Linux系统中vim编辑器的实用插件。Vim 是 Linux 下的常用文本编辑器,但也经常被称为是一个上古神器,因为它对于初学者而言相当不友好,也不好入门。 Linux入门新手和正在Linux学习的小伙伴快来看一看吧,希望能够对大家有所帮助!

但是,对于高手而言,他们不仅将 Vim 玩得很溜,而且还将它当作代码开发的主要工具。为什么?因为 VS 等 IDE 比较庞大,运行起来比较慢,而 Vim 就相当轻量了,瞬间就能打开代码并开始工作,这对于追求效率的高手而言自然是爱不释手。

但是,如果是官方版的 Vim ,依然是局限性相当大,十分不方便。但是高手毕竟是高手,高手懂得使用插件。今天小编就为大家介绍一下3个很实用的vim插件。

1. 括号自动补全插件

这个插件叫 Auto Pairs ,它可以自动补全配对的符号,比如:花括号、方括号、圆括号、引号等。这对于我们程序员而言非常有用,因为在代码里我们大量使用到了上述的几种配对符号,如果能自动补全那将很大提高我们的写 bug 效率。

使用这个插件后,当我们敲入一个符号时,会自动补全它的所匹配的另一个符号。比如,我们敲入 [ 时,它会自动补全 ] 。当我们删掉 [ 时,] 也自动被删除了。

如果我们开启了自动缩进,那么它不仅会在合适的位置补全匹配的符号,还会将光标插入到合适的位置。比如下面这段 Go 代码:

现在,我在倒数第 3 行 items 后面插入一个花括号 { ,然后敲一下回车,我们就得到这样的结果:

package main import "fmt" func main() { x := true items := []string{"tv", "pc", "tablet"} if x { for _, i := range items { | (光标在这里了) } } }

当然 Auto Pairs 还提供了很多选项,我们可以在它的 Github 仓库查看更多用法。但是,以上的这些基本用法就已经可以节约我们很多时间了。

2. 代码块注释插件

作为一个合格的上古神器,Vim 没办法像那些 IDE 一样去注释代码块。但是有了NERD Commenter 这个插件,我们就可以实现这样的目标。

NERD Commenter 很智能,它可以自动识别代码,并给出对应语言的注释风格。最简单的方法,我们可以在命令模式下通过敲 +空格 来快速注释代码块。在这里,键默认是反斜杠 键,我们也可以进行自定义。

我们怎么选中多行呢?那就是要在 visual mode (可视化模式)下进行了,这是 Vim 的基本操作了。

还有一个很有用的特性是 Sexy Comment (性感模式),我们可以使用+cs 来触发。性感模式可以将代码块用很优雅的方式来注释,比如下面这种风格的注释就是性感模式:

package main import "fmt" func main() { /* * x := true * items := []string{"tv", "pc", "tablet"} * * if x { * for _, i := range items { * fmt.Println(i) * } * } */ }

3. 添加包围符号插件

Vim Surround 插件堪称是一个大杀器,因为它可以将现有的代码添加成对包围符号。比如我们现在有这么一句代码:

“Vim plugins are awesome !”

如果我们想把引号去掉,只需敲 ds” 即可:

Vim plugins are awesome !

如果我们想将双引号改成单引号,我们可以敲 cs”‘:

‘Vim plugins are awesome !’

想要换成其它符号也是一样的道理。不仅如此,它还对 HTML 或 XML 标记语言支持非常好。比如有这么一句 HTML 语句:

Vim plugins are awesome !>

现在我们想要加粗 awesome 这个词,我们可以将光标放在这个单词上,然后敲ysiw ,它就会自动添加标记:

Vim plugins are awesome !>

Vim Surround 还可以以锯齿的方式,在语句的上下方添加包围符号,并将当前语句自动缩进。比如我们想在上面那条代码添加标签,我们可以敲 ySS

Vim plugins are awesome !>

同样地,它的功能不仅于此,我们可以进它的 Github 仓库查看更多强大的功能。

小结

文章介绍的 3 个 Vim 插件,熟练使用的话将为我们节约很多时间,而且用起来也非常顺手,可以提高我们的效率。

以上就是小编今天为大家分享的文章,希望本篇文章能够对正在从事Linux相关工作的小伙伴们有所帮助。想要了解更多Linux相关知识记得关注马哥教育关注。最后祝愿小伙伴们工作顺利,成为一名优秀的Linux运维工程师!

【免责声明:本文图片及文字信息均由小编转载自网络,旨在分享提供阅读,版权归原作者所有,如有侵权请联系我们进行删除。】

linux下vim编辑器插件,为你介绍Linux系统中vim编辑器的实用插件!相关推荐

  1. 优麒麟在linux下安装教程,在优麒麟Ubuntu Kylin系统中安装百度网盘Linux版.deb的方法...

    本文介绍在优麒麟Ubuntu Kylin操作系统中安装百度网盘Linux版.deb的方法,可用在优麒麟及 Ubuntu 19.04/18.04上,当前百度网盘Linux版的版本号是Linux V2.0 ...

  2. Linux下服务器端开发流程及相关工具介绍(C++)

    原文:Linux下服务器端开发流程及相关工具介绍(C++) 去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把 ...

  3. linux java 工具_Linux运维知识之linux下java版本管理工具jenv使用介绍

    本文主要向大家介绍了Linux运维知识之linux下java版本管理工具jenv使用介绍,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 不同的项目使用的java版本不同,每次切 ...

  4. Linux下curses函数库的详细介绍

    Linux下curses函数库的详细介绍 curses库介绍 安装 curses库函数介绍 初始化和重置函数 管理屏幕的函数 输出到屏幕 从屏幕读取 清除屏幕 移动光标 字符属性 管理键盘的函数 键盘 ...

  5. linux下 抓包工具下载,Linux下抓包工具tcpdump使用介绍

    Linux下抓包工具tcpdump使用介绍 发布时间:2012-11-30 17:11:39   作者:佚名   我要评论 在传统的网络分析和测试技术中,嗅探器(sniffer)是最常见,也是最重要的 ...

  6. delphi中richedit中光标如何定位到最后_嵌入式开发之Linux系统中Vi编辑器的使用

    请大家关注点赞,已经完成物联网相关开发,会从硬件层,硬件中间层,传输层,软件中间件(物联网云平台),APP开发相关博文.首先从嵌入式开发博文开始!上一节关于<>.本节关于Linux系统中V ...

  7. Linux下C/C++程序编译链接加载过程中的常见问题及解决方法

    Linux下C/C++程序编译链接加载过程中的常见问题及解决方法 1 头文件包含的问题 报错信息 该错误通常发生在编译时,常见报错信息如下: run.cpp:2:10: fatal error: dl ...

  8. linux格式化大于2t硬盘分区,linux下大于2tb硬盘格式化及挂载,linux下大于2t的分区方法,linux gpt分区表 管理 自动挂载分区...

    linux下大于2tb硬盘格式化及挂载,linux下大于2t的分区方法,linux gpt分区表 管理 自动挂载分区 (7页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找 ...

  9. linux复制文件夹 实例,linux复制文件夹与文件实例介绍linux操作系统 -电脑资料

    本文章来介绍一下关于linux复制文件夹与文件的一些基础用法,有需要学习的朋友可参考一下本文章, CP命令 格式: CP [选项] 源文件或目录  目的文件或目录 选项说明:-b 同名,备分原来的文件 ...

最新文章

  1. 线程及同步的性能 – 线程池/ ThreadPoolExecutors/ ForkJoinPool
  2. 4、常见命令操作(详细)
  3. 常见证书格式及相互转换
  4. CF_275_DIV2_D_Interesting Array
  5. c语言pID程序怎么设计,51单片机PID的算法实现程序C语言
  6. Html Dom 的nodetype解析 转自“sweting”
  7. SpringMVC的请求-获得请求参数-获得集合类型参数2
  8. how is our class instance registered - thanks to AnnotationConfigWebApplicationC
  9. Google Go Programming In Eclipse
  10. ubuntu14.04安装opencv3.1(亲测)
  11. [BZOJ1135][P3488][POI2009]LYZ[线段树+Hall定理]
  12. php post u,php 超全局变量 get post request
  13. express日常开发总结
  14. c# json 汉字乱码_C# 读取Json内的数据,中文乱码,怎么解决
  15. 罗技鼠标宏压枪 - 绝地求生 -刺激战场
  16. 最新国家行政区划数据下载(截止2017年10月31日)目前2019.1.21仍为最新数据
  17. 壮族小伙车祸离世 父亲含泪捐儿器官救6人
  18. 通过usb利用adb实现android手机和pc机通信
  19. win11照片一打开就是打印怎么办?
  20. 0xc0150002错误

热门文章

  1. 全息图像恢复成物象matlab,计算全息再现图像.ppt
  2. 无法卸载 LiveUpdate Notice 的问题
  3. 小米兰亭pro ttf_探索 让未来多一种可能 小米5G新品发布会直播
  4. HW算法题:查找众数及中位数
  5. 关于Linux进程你所需要知道的一切都在这里!!
  6. IMU传感器时什么?(二)陀螺仪的种类和原理
  7. Springboot实现支付宝沙箱支付功能
  8. 【Cityengine】Cityengine2019安装使用及城市模型构建
  9. JSONNull的判断问题
  10. 女装分类有哪些?(详细女装分类)