您当前的位置:首页 > 电脑百科 > 软件技术 > 操作系统 > linux

关于vim的实用插件

时间:2019-08-28 13:11:43  来源:  作者:

Vim 是 linux 下的常用文本编辑器,但也经常被称为是一个上古神器,因为它对于初学者而言相当不友好,也不好入门。

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

但是,如果是官方版的 Vim ,依然是局限性相当大,十分不方便。但是高手毕竟是高手,高手懂得使用插件。下面良许就介绍高手常用的 3 个很实用的插件。

1、括号自动补全插件

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

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

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

package main
import "fmt"
func main() {
 x := true
 items := []string{"tv", "pc", "tablet"}
 if x { 
 for _, i := range items
 } 
}
现在,我在倒数第 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 插件,熟练使用的话将为我们节约很多时间,而且用起来也非常顺手,可以提高我们的效率。当然 Vim 社区里还有非常多大牛开发的很有用的插件,后续良许也会再推送一些好玩的插件,敬请期待!



Tags:vim   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
vim如何选中多行后批量缩进1. ”shift+v“选中行2. 使用"=="进行缩进 带来的问题是:可能很多时候默认都是table【而我想要的是4个空格或者8个空格】所以继续下面: 永久设置TAB...【详细内容】
2021-04-12  Tags: vim  点击:(233)  评论:(0)  加入收藏
今日分享:Don't allow your rituals to become ruts. -- Todd Henry❞ vi/vim 的重要性不言而喻,比如登录服务器操作。那么如何掌握呢?看这一篇足矣。1.介绍vi/vim 是 Linu...【详细内容】
2020-07-04  Tags: vim  点击:(76)  评论:(0)  加入收藏
1. 前言本文主要讲解如何使用vim加密文本文件,通过设置保护密码达到保护文本文件的目的。流行的文本编辑器Vim带有一个内置特性,可以使用密码加密文件。Vim使用像Blowfish这样...【详细内容】
2020-06-25  Tags: vim  点击:(66)  评论:(0)  加入收藏
命令历史以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。在命令行窗口中输入以下命令即可vim 直接启动vimvim filename 打开vim并创建名...【详细内容】
2020-06-10  Tags: vim  点击:(49)  评论:(0)  加入收藏
之前一直用 cVim,与 Vimium 功能类似,但是之后不在更新了,故转战到 Vimium。简介官网:http://vimium.github.io/Vimium 是 Google Chrome 浏览器的扩展程序,它提供了 Vim 编辑器...【详细内容】
2020-04-06  Tags: vim  点击:(139)  评论:(0)  加入收藏
首先,打开电脑终端并执行以下命令安装Homebrew:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"更多关于Homebrew,...【详细内容】
2020-03-08  Tags: vim  点击:(62)  评论:(0)  加入收藏
Vim作为使用最广泛的文本编辑器之一,在编程的世界中,一直流传着一个关于它的神秘问题,知道答案的人寥寥无几,却又难以启齿,那就是:怎么退出Vim?据说,很多程序员就算退休了,也没有退出...【详细内容】
2019-12-25  Tags: vim  点击:(117)  评论:(0)  加入收藏
我这台系统是centos 7,预装的vim 7.4版本。Vim编辑器有3种模式,分别是命令模式,输入模式,末行模式。 命令模式:刚刚你打开文件进入时候就是命令模式,可以复制,删行等操作输入模式:...【详细内容】
2019-10-21  Tags: vim  点击:(184)  评论:(0)  加入收藏
本文给大家介绍的是在Ubuntu 18.04 LTS系统下使用Vim配置Python开发环境的详细步骤,对初学者非常实用,有需要的小伙伴可以参考下。Vim是Linxu终端最方便的编辑器,有一定的通用...【详细内容】
2019-08-28  Tags: vim  点击:(248)  评论:(0)  加入收藏
Vim 是 Linux 下的常用文本编辑器,但也经常被称为是一个上古神器,因为它对于初学者而言相当不友好,也不好入门。但是,对于高手而言,他们不仅将 Vim 玩得很溜,而且还将它当作代码开...【详细内容】
2019-08-28  Tags: vim  点击:(239)  评论:(0)  加入收藏
▌简易百科推荐
作用显示文件或目录所占用的磁盘空间使用命令格式du [option] 文件/目录命令功能显示文件或目录所占用的磁盘空间一些写法的区别du -sh xxx 显示总目录的大小,但是不会列出...【详细内容】
2021-12-23  mitsuhide1992    Tags:du命令   点击:(12)  评论:(0)  加入收藏
什么是linux内核linux就像是一个哲学的最佳实践。如果非要对它评价,我真的不知道该怎么赞叹,我只能自豪地说着:“linux的美丽简直让人沉醉。”我只能说是我处在linux学习的修炼...【详细内容】
2021-12-23  linux上的码农    Tags:linux内核   点击:(15)  评论:(0)  加入收藏
本文将比较 Linux 中 service 和 systemctl 命令,先分别简单介绍这两个命令的基础用法,然后进行比较。从 CentOS 7.x 开始,CentOS 开始使用 systemd 服务来代替 service服务(dae...【详细内容】
2021-12-23  软件架构    Tags:systemctl   点击:(14)  评论:(0)  加入收藏
mv是move的缩写,可以用来移动文件或者重命名文件名,经常用来备份文件或者目录。命令格式mv [选项] 源文件或者目录 目标文件或者目录命令功能mv命令中第二个参数类型的不同(...【详细内容】
2021-12-17  入门小站    Tags:mv命令   点击:(23)  评论:(0)  加入收藏
大数据技术AI Flink/Spark/Hadoop/数仓,数据分析、面试,源码解读等干货学习资料 98篇原创内容 -->公众号 Linux sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处...【详细内容】
2021-12-17  仙风道骨的宝石骑士    Tags:sed命令   点击:(22)  评论:(0)  加入收藏
Node是个啥?  写个东西还是尽量面面俱到吧,所以有关基本概念的东西我也从网上选择性地拿了下来,有些地方针对自己的理解有所改动,对这些概念性的东西有过了解的可选择跳过这段...【详细内容】
2021-12-15  linux上的码农    Tags:node   点击:(25)  评论:(0)  加入收藏
难道只有我一个人觉得Ubuntu的unity桌面非常好用吗?最近把台式机上面的Ubuntu 16.04格式化了,装了黑苹果用了一周,不得不说,MacOS确实很精美,软件生态比Linux丰富很多,比Windows简...【详细内容】
2021-12-14  地球末日村    Tags:ubuntu   点击:(41)  评论:(0)  加入收藏
简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行net...【详细内容】
2021-12-13  窥镜天    Tags:Linux netstat   点击:(28)  评论:(0)  加入收藏
对于较多数量的文件描述符的监听无论是select还是poll系统调用都显得捉襟见肘,poll每次都需要将所有的文件描述符复制到内核,内核本身不会对这些文件描述符加以保存,这样的设计...【详细内容】
2021-12-13  深度Linux    Tags:Linux   点击:(19)  评论:(0)  加入收藏
今天,我们来了解下 Linux 系统的革命性通用执行引擎-eBPF,之所以聊着玩意,因为它确实牛逼,作为一项底层技术,在现在的云原生生态领域中起着举足轻重的作用。截至目前,业界使用范...【详细内容】
2021-12-10  架构驿站    Tags:eBPF   点击:(29)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条