多语言编程必备的十大Vim插件

系统运维2025-11-05 10:41:074

使用这 10 个 Vim 插件,多语大可以让你在写代码或运维时,言编感觉更棒。程必插件

我使用 Vim 文本编辑器大约 20 年了。多语大有一段时间,言编我一直在定制我的程必插件 Vim 配置,但在只有在最近两年我才会使用插件。多语大

最近,言编当我重新安装系统时(就像我经常做的程必插件那样),我觉得这是多语大一次好的机会,我想找出多种编程语言环境下的言编最佳 Vim 插件,以及如何将这些插件和每种语言结合起来。程必插件

有时,多语大我会为特定的言编语言和配置使用特定的插件(例如,我只在 Ansible 配置中安装 Rocannon),程必插件在此不细讲了。不过下面介绍的 10 个 Vim 插件都是我的最爱,无论使用哪种编程语言,我几乎都会使用它们。

1、Volt

我的首选并不是一个插件,但是云服务器它可以替换类似于 Vundle 的插件,所以在此介绍。

Volt 是一个不依存于 Vim 的 Vim 插件管理器。你可以用它安装插件,并创建名为“profile”的插件组合。你可以使用一个简单的命令 volt profile set myprofile 启用新的配置。这样我可以做到这样的事情,如为 Python 配置单独启用 indentpython 插件。Volt 还提供了一种针对每个插件配置的简单方法,这些配置会在“profile”之间共享,因此只需要安装一次插件,就可以在多个“profile”之间使用。

Volt 还是相对较新且不够完美(比如,不管你想要使用多少个“profile”,每个插件只能有一个配置文件),但除此之外,我发现它非常方便、快速和简单。

Volt plugin

2、Vim-Rainbow

除了 Python,几乎所有的主流编程语言都使用括号(小括号、方括号和大括号)。通常,WordPress模板它们会嵌套使用多对括号,因此很难搞清楚某个括号的开闭区间。我发现自己经常要数小括号,尤其是在复杂的 Bash 脚本中,以确保无误。

这时候就需要 vim-rainbow 插件!它为每对括号设置不同的颜色,因此很容易识别出哪些括号是一对括号。它非常有用而且五彩斑斓。

vim-rainbow plugin

3、lightline

Vim 有很多这种插件,例如 Powerline,它会在底部栏显示你正在处理的文件、光标所在的文件位置以及文件类型等信息。这些插件各有利弊,在简单比较后,我选择了 lightline。它相对较小,便于安装和扩展,并且不依赖于其他工具或插件。

Lightline plugin

4、NERDTree

NERDTree 是一个很经典的插件。在大型项目中,你可能很难找到想要编辑的香港云服务器内容所在文件的确切名称和路径。使用快捷键(我使用的是 F7,因为我在 .vimrc 中配置了这个快捷键),搜索窗会以垂直分屏的方式打开,就可以轻松找到所需文件并打开它。对于大型项目,这是必备插件。对于那些经常忘记文件名的人也很有用,比如我。

NERDTree vim plugin

5、NERD Commenter

程序员们在写代码时,有时会遇到一些难以调试的问题,导致他们想要注释或不执行某段代码。这时候就需要 NERD Commenter 出场了。选择代码段,按 Leader 键 + cc,代码就会被注释掉。(标准的 Vim Leader 键 是 / 字符。)按 Leader 键 + cn,取消注释。对于大多数文件类型,NERD Commenter 会自动使用正确的注释符。例如,如果你正在编辑 BIND 区域文件,并将文件类型设置为 BIND 区域文件,Vim 会正确地使用 ;(分号)字符进行注释。

NERD Commenter

6、Solarized

我喜欢我的 Vim 主题配色。我也喜欢终端的主题色。我一直在 Vim 上使用 Solarized 配色,并且将我的终端、文件夹配色和 Vim 设为一致。

但是,有时我会根据周边环境、屏幕亮度以及是否需要分享投屏,来切换明暗模式。

显然,你可以选择自己喜欢的任何配色方案,但我喜欢 Solarized,因为它有明暗模式功能,它可以简单快捷地切换两种模式。我的第二个选择是 Monokai。Volt 插件管理器让我可以轻松地在两者之间切换,因此我在 Python 编程时,使用 Monokai;Bash 编程时,使用 Solarized。

我没有给 Solarized 找相应的图片,因为本文中的所有其他图片都使用了 Solarized 中的浅色或深色效果,可以确认一下这些图片。

7、fzf

当寻找一个文件时,有时你想要一个文件浏览器,有时你只想在键盘上敲打出与文件名模糊匹配的内容,对吗?

fzf(全称 “模糊查找器”)插件提供了这一功能。打出 :FZF 并输入文件名内容。不断缩短的列表将显示出与你输入的文件名内容相匹配的一些文件。我经常使用它,最近使用它的频率估计比使用 NERDTree 还多。缺点是这个插件依赖于 fzf binary,因此也必须安装这个依赖包。它适用于 Fedora、Debian 和 Arch,据我所知并不在 EPEL 中。

fzf Vim plugin

8、ack

有时,你需要搜索包含特定行或特定单词的文件。我真的很喜欢使用 ack 插件,最好与 ag 结合使用,它俩的组合又被称为 “silver searcher”。这一组合的速度非常快,覆盖了 grep 或 vimgrep 的绝大多数使用场景。缺点是你需要安装 ack 或 ag 才能正常运行。好消息是 Fedora 和 EPEL7 都可以使用 ag 和 ack。

ack vim plugin

9、gitgutter

大多数 IT 人员都使用 Git 和 Git 仓库中的文件进行工作。gitgutter 插件在行号附近添加了一列,通过符号显示该行的状态为:已更改(~)、已添加(+)或者已删除(-)。这有利于跟踪你所做的更改,并且可以使你专注于手头的任务,例如编写补丁来修复一个关键错误。

gitgutter vim plugin

10、Tag List

如果你在一个很大的文件中编写代码,会很容易忘记当前所在的位置,你可能需要上下滚动来查找某个功能。使用 Tag List 插件,只需要输入 :Tlist,就能垂直分屏显示出包含变量、类型、类和函数的代码,你可以轻松跳转到这些变量、类型、类和函数。这个功能对于多语言同样适用,例如 Java、Python 以及任何能够使用 ctags 功能的文件类型。

Tag List vim plugin

以上介绍的 10 个 Vim 插件使我作为系统管理员和兼职程序员的生活变得更轻松。你正在使用哪些 Vim 插件?请在评论中分享你最爱的插件。 

本文地址:http://www.bzuk.cn/news/63c32899608.html
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

热门文章

全站热门

网络出现错误导致电脑开机问题(解决方法与技巧)

Ubuntu系统有一个情况,安装或更新一个软件非常的慢。这是什么原因呢?一种情况就是你的网络本身速度就比较慢导致的;另一种情况,就是你的系统选择的源,由于你选择的源可能在国外或者即使在国内也因为各种情况导致与你的连接速度会比较慢。因此,下面我们来分享下我选择的源及源的修改方法。1、打开系统设置。选择软件和更新。2、打开软件和更新窗口。3、这里面的每个选项,我们会在后续的分享中慢慢跟大家道来。今天我们主机介绍软件源的修改。我们点击Ubuntu软件选项卡下的其他站点。4、这里有好多国外的源及我们国内的源,我也试了不少,我目前使用的是aliyun的源,感觉速度还不错,其他国内的速度也都不可以,大家也可以试试。不要怕麻烦,就是要折腾。5、我们选择mirrors.aliyun.com,然后点击 选择服务器。6、同样需要我们密码认证。7、修改成功。8、然后点击关闭。此时需要重新载入软件源,我们点击 重新载入 即可。9、系统正在更新缓存(源)。10、等待系统更新完毕。源更新成功后,会自动关闭窗口。此时,我们安装软件或更新软件(系统)就是用的我们选择的源啦。

电脑主板安装讲解教程(详细指导如何安装电脑主板)

1 sudo apt-get install vsftpd 2 sudo nano /etc/vsftpd.conf 修改如下 3 anonymous_enable=YES 允许匿名用户访问 write_enable=YES # anon_world_readable_only=YES # anon_other_write_enable=YES

东星电脑屏幕拆卸教程(一步步教你拆卸东星电脑屏幕,轻松维修升级)

apt-get和apt-cache是Ubuntu Linux中的命令行下的包管理工具。 apt-get的GUI版本是Synaptic包管理器。该文中我们会展示apt-get和apt-cache命令的15个不同例子。示例:1 列出所有可用包复制代码代码如下:linuxtechi@localhost:~$ apt-cache pkgnames account-plugin-yahoojp ceph-fuse dvd+rw-tools e3 gnome-commander-data grub-gfxpayload-lists gweled .......................................示例:2 用关键字搜索包这个命令在你不确定包名时很有用,只要在apt-cache(LCTT 译注:这里原文是apt-get,应为笔误)后面输入与包相关的关键字即可。复制代码代码如下:linuxtechi@localhost:~$ apt-cache search web server apache2 - Apache HTTP Server apache2-bin - Apache HTTP Server (binary files and modules) apache2-data - Apache HTTP Server (common files) apache2-dbg - Apache debugging symbols apache2-dev - Apache HTTP Server (development headers) apache2-doc - Apache HTTP Server (on-site documentation) apache2-utils - Apache HTTP Server (utility programs for web servers) ......................................................................注意: 假如你安装了“apt-file”包,我们就可以像下面那样用配置文件搜索包。复制代码代码如下:linuxtechi@localhost:~$ apt-file search nagios.cfg ganglia-nagios-bridge: /usr/share/doc/ganglia-nagios-bridge/nagios.cfg nagios3-common: /etc/nagios3/nagios.cfg nagios3-common: /usr/share/doc/nagios3-common/examples/nagios.cfg.gz pnp4nagios-bin: /etc/pnp4nagios/nagios.cfg pnp4nagios-bin: /usr/share/doc/pnp4nagios/examples/nagios.cfg示例:3 显示特定包的基本信息复制代码代码如下:linuxtechi@localhost:~$ apt-cache show postfix Package: postfix Priority: optional Section: mail Installed-Size: 3524 Maintainer: LaMont Jones Architecture: amd64 Version: 2.11.1-1 Replaces: mail-transport-agent Provides: default-mta, mail-transport-agent .....................................................示例:4 列出包的依赖复制代码代码如下:linuxtechi@localhost:~$ apt-cache depends postfix postfix Depends: libc6 Depends: libdb5.3 Depends: libsasl2-2 Depends: libsqlite3-0 Depends: libssl1.0.0 |Depends: debconf Depends: cdebconf debconf Depends: netbase Depends: adduser Depends: dpkg ............................................示例:5 使用apt-cache显示缓存统计复制代码代码如下:linuxtechi@localhost:~$ apt-cache stats Total package names: 60877 (1,218 k) Total package structures: 102824 (5,758 k) Normal packages: 71285 Pure virtual packages: 1102 Single virtual packages: 9151 Mixed virtual packages: 1827 Missing: 19459 Total distinct versions: 74913 (5,394 k) Total distinct descriptions: 93792 (2,251 k) Total dependencies: 573443 (16.1 M) Total ver/file relations: 78007 (1,872 k) Total Desc/File relations: 93792 (2,251 k) Total Provides mappings: 16583 (332 k) Total globbed strings: 171 (2,263 ) Total dependency version space: 2,665 k Total slack space: 37.3 k Total space accounted for: 29.5 M示例:6 使用 “apt-get update” 更新仓库使用命令“apt-get update”, 我们可以重新从源仓库中同步文件索引。包的索引从“/etc/apt/sources.list”中检索。复制代码代码如下:linuxtechi@localhost:~$ sudo apt-get update Ign http://extras.ubuntu.com utopic InRelease Hit http://extras.ubuntu.com utopic Release.gpg Hit http://extras.ubuntu.com utopic Release Hit http://extras.ubuntu.com utopic/main Sources Hit http://extras.ubuntu.com utopic/main amd64 Packages Hit http://extras.ubuntu.com utopic/main i386 Packages Ign http://in.archive.ubuntu.com utopic InRelease Ign http://in.archive.ubuntu.com utopic-updates InRelease Ign http://in.archive.ubuntu.com utopic-backports InRelease ................................................................示例:7 使用apt-get安装包复制代码代码如下:linuxtechi@localhost:~$ sudo apt-get install icinga上面的命令会安装叫“icinga”的包。示例:8 升级所有已安装的包复制代码代码如下:linuxtechi@localhost:~$ sudo apt-get upgrade示例:9 更新特定的包在apt-get命令中的“install”选项后面接上“-only-upgrade”用来更新一个特定的包,如下所示:复制代码代码如下:linuxtechi@localhost:~$ sudo apt-get install filezilla --only-upgrade示例:10 使用apt-get卸载包复制代码代码如下:linuxtechi@localhost:~$ sudo apt-get remove skype上面的命令只会删除skype包,假如你想要删除它的配置文件,在apt-get命令中使用“purge”选项。如下所示:复制代码代码如下:linuxtechi@localhost:~$ sudo apt-get purge skype我们可以结合使用上面的两个命令:复制代码代码如下:linuxtechi@localhost:~$ sudo apt-get remove --purge skype示例:11 在当前的目录中下载包复制代码代码如下:linuxtechi@localhost:~$ sudo apt-get download icinga Get:1 http://in.archive.ubuntu.com/ubuntu/ utopic/universe icinga amd64 1.11.6-1build1 [1,474 B] Fetched 1,474 B in 1s (1,363 B/s)上面的目录会把icinga包下载到你的当前工作目录。示例:12 清理本地包占用的磁盘空间复制代码代码如下:linuxtechi@localhost:~$ sudo apt-get clean上面的命令会清空apt-get所下载的包占用的磁盘空间。我们也可以使用“autoclean”选项来代替“clean”,两者之间主要的区别是autoclean清理不再使用且没用的下载。复制代码代码如下:linuxtechi@localhost:~$ sudo apt-get autoclean Reading package lists... Done Building dependency tree Reading state information... Done示例:13 使用“autoremove”删除包当在apt-get命令中使用“autoremove”时,它会删除为了满足依赖而安装且现在没用的包。复制代码代码如下: linuxtechi@localhost:~$ sudo apt-get autoremove icinga示例:14 显示包的更新日志复制代码代码如下: linuxtechi@localhost:~$ sudo apt-get changelog apache2 Get:1 Changelog for apache2 (http://changelogs.ubuntu.com/changelogs/pool/main/a/apache2/apache2_2.4.10-1ubuntu1/changelog) [195 kB] Fetched 195 kB in 3s (60.9 kB/s)上面的命令会下载apache2的更新日志,并在你屏幕上分页显示。示例:15 使用 “check” 选项显示损坏的依赖关系复制代码代码如下:linuxtechi@localhost:~$ sudo apt-get check Reading package lists... Done Building dependency tree Reading state information... Done

也许还有不少人不知道MultiSystem,它是一个用来在Linux系统中创建多启动usb盘的小型的开源软件。使用这个工具,我们可以在USB中创建任意多的可启动Linux发行版。你所需要的只是网络链接(只在MultiSystem安装的时候需要),以及一个足够大的USB盘,这取决于你想在USB盘中放入发行版的数量。在 Ubuntu 14.10/14.04 安装MultiSystem手动安装:下载 MultiSystem脚本,并解压到任意地方。进入解压的地址,使用下面的命令运行脚本。复制代码代码如下:sudo ./install-depot-multisystem.sh使用 PPA 安装:当然,你也可以用下面的命令来更简单地使用PPA来安装MultiSystem。复制代码代码如下:sudo apt-add-repository deb http://liveusb.info/multisystem/depot all main wget -q -O - http://liveusb.info/multisystem/depot/multisystem.asc | sudo apt-key add - sudo apt-get update sudo apt-get install multisystem安装完之后,它会自动打开MultiSystem。只要点击关闭按钮退出。安装之后MultiSystem 安装完成后,可以插入你的USB,并通过Unity Dash或者菜单运行MultiSystem。第一次启动时,MultiSystem界面看起来会像下面这样。选择USB设备,点击确认按钮。假如你看到下面的错误窗口,不必担心,它说的是USB设备没有标签。点击OK让MultiSystem自动设置标签。那么,拔出/重新插入USB,再次运行MultiSystem。选择USB盘,再次点击确认。现在,你被要求确认在USB中安装Grub2.点击OK继续。最终,你会高兴地看到MultiSystem的界面。现在,时候创建多启动USB盘。使用MultiSystem非常容易使用。将ISO文件拖入MultiSystem窗口中。假如不行的话,点击底部的cd 按钮来选择ISO文件。现在,MultiSystem会从ISO中拷贝文件,并让USB可启动。相似地,你可以在你的USB中加入任意多的发行版。我这次加入了两个Linux发行版:CentOS 6.5和Android。加完ISO文件后,你会在MultiSystem的主窗口中看到可启动的发行版列表了。就是这样。我们的多启动USB盘就可以使用了。重启系统,并在BIOS中设置USB优先启动。选择你想要安装的发行版并开始安装系统。此外,MultiSystem含有一些其它的选项:     Grub 设置 Grub 和 Burg 的bootloader更新 下载 LiveCD VirtualBox 安装 格式化USB盘 还有更多选项这些额外选项可以在MultiSystem的菜单标签里面看到。同样,你也可以在Ubuntu中使用QEMU或者Oracle VirtualBox测试多启动USB盘。MultiSystem工具是我测试到现在最棒和最有用的一款工具。这款工具对那些想要在他们的机器上安装多个系统的人是非常有用的。在你外出的时候,你不必再携带CD/DVD袋了。只要买一个16GB或者32GB的USB就行,并下载所有你想要的系统,随心所欲的安装系统即可。并且,一个对于Windows系统用户的好消息是它也支持Windows系统。我在Windows 7上测试过,它可以工作!享受吧!

X.Org server 1.5Ubuntu 8.10中装载了最新版本的X.Org,带来了对热插拨设备的更好支持。基本上,它能使得大多数用户不用”/etc/X11/xorg.conf”文件就能正常运行。Linux kernel 2.6.26Alpha 4包含了基于2.6.26.2的内核版本。32位下载地址:http://cdimage.ubuntu.com/releases/intrepid/alpha-4/intrepid-desktop-i386.iso64位下载地址:http://cdimage.ubuntu.com/releases/intrepid/alpha-4/intrepid-desktop-amd64.iso

热门文章

友情链接

滇ICP备2023006006号-33