Skip to Content
《学习 vi 和 Vim 编辑器》,第 8 版
book

《学习 vi 和 Vim 编辑器》,第 8 版

by Arnold Robbins, Elbert Hannah
May 2025
Beginner to intermediate
548 pages
5h 59m
Chinese
O'Reilly Media, Inc.
Content preview from 《学习 vi 和 Vim 编辑器》,第 8 版

第 11 章 程序员的 Vim 增强功能 面向程序员的 Vim 增强功能

本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com

文本编辑只是 Vim 的强项之一。优秀的程序员需要 功能强大的工具来确保高效熟练的工作。一个好的编辑器只是一个开始,仅靠它本身是不够的。许多现代编程环境都试图提供全面的解决方案,但其实真正需要的只是一个功能强大、高效且具有额外智能的编辑器。

编程工具提供的额外功能包括具有语法着色、自动缩进和格式化、关键字补全和 等功能的编辑器,以及具有复杂集成功能的完整集成开发环境(IDE),这些集成开发环境构建了完整的开发生态系统。这些集成开发环境可以是昂贵的(如 Visual Studio1)或免费的(Eclipse),尽管计算机资源需求并不占主导地位,但往往轻量级的东西就足够了。 Vim 提供了一些类似集成开发环境的功能,并通过社区提供的插件接近集成开发环境的功能,从而满足了轻量级的需求。(有关使用 Vim IDE 插件进行开发的深入探讨,请参见第 15 章 "作为 IDE 的 Vim:需要进行一些组装")。

程序员的任务各不相同,对技术的要求也不尽相同。小规模的开发任务可以使用简单的编辑器轻松完成,这些编辑器只提供文本编辑功能。而大型的多组件、多平台和多人员开发工作则几乎需要集成开发环境来完成。但是,许多资深程序员根据自己的经验认为,集成开发环境只会带来额外的复杂性,却不会带来更高的成功概率。

Vim 在简单的编辑器和单一的集成开发环境之间取得了很好的平衡。它拥有的功能直到最近还只有昂贵的集成开发环境才能提供。它能让你快速完成简单的编程任务,而无需像集成开发环境那样花费大量时间和精力去学习。

许多选项、特性、命令和功能特别适合让程序员的生活更轻松,从将代码行折叠成一行到语法着色和自动格式化,不一而足。Vim 为程序员提供了许多工具,只有通过使用这些工具才能充分体会到其中的乐趣。在高端版本中,Vim 提供了一种名为 QuickFix 的迷你集成开发环境,但它也有专门针对各种编程任务的便利功能。本章将介绍以下主题:

  • 折叠式

  • 自动和智能缩进

  • 关键字和字典单词补全

  • 标签和扩展标签

  • 语法高亮和高亮创建(自行创建)

  • QuickFix,Vim 的迷你IDE

折叠和勾画(大纲模式)

通过折叠,你可以定义你能看到文件的哪些部分。例如,在 代码块中,你可以隐藏大括号内的任何内容,或隐藏所有注释。折叠分为两个阶段。首先,使用几种折叠方法中的任何一种(我们将很快介绍),定义要折叠的文本块。然后,当你使用折叠命令时,Vim 会隐藏指定的文本,并在其位置上留下一行占位符。图 11-1显示了 Vim 中的折叠效果。你可以使用折叠占位符来管理折叠所隐藏的行。

lvv8 1101
图 11-1. Vim 折叠示例(MacVim,配色方案:zellner)

在示例中,从第 10 行开始的两行折叠隐藏了第 11 行。从第 15 行开始的八行折叠隐藏了第 15 行至第 22 行。从第 26 行开始的四行折叠隐藏了第 26 行至第 29 行。

您可以创建的折页数量几乎没有限制。您甚至可以创建嵌套折叠(折叠中的折叠)。

有几个选项可以控制 Vim 如何创建和显示折叠。此外,如果你花时间创建了许多折叠文件,Vim ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

图解大模型 : 生成式AI 原理与实战

图解大模型 : 生成式AI 原理与实战

Jay Alammar, Maarten Grootendorst
超越Vibe编程

超越Vibe编程

Addy Osmani

Publisher Resources

ISBN: 9798341657885