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 版

第 14 章 一些 Vim 强化技术

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

本章展示了多年(太多年?)学习和使用 Vim 的一些经验教训。 调整一些默认设置和重新映射默认命令可以让每天数小时的 Vim 使用变得更加愉悦。我们希望这些想法和技巧能激发你的新想法,让你创造出属于自己的强大技巧。

多张便利地图

Vim 的命令模式有足够多的操作和命令,几乎没有任何按键可以在不改变默认行为的情况下自由使用。 幸运的是,Vim 大部分都能做到这一点,虽然你最初可能不同意它的选择,但你几乎总能很快对你喜欢使用的命令形成肌肉记忆。

我们选择了一些方便的替代方案,替换了一些不合理的映射、多余的映射和多个键的映射,或者将它们映射为更有用的映射。

退出 Vim 简化版

"保存和退出文件 "一节中我们介绍了退出vi 和 Vim 的几个 选项。 事实上"如何退出 Vim 编辑器?"是Stack Overflow 上最热门的问题之一,有超过 100 万用户问过这个问题

通过这些简单的按键重置,我们可以轻松地将退出 Vim 所需的三到四次按键减少到一次:

:nmap q :q<cr>
:nmap Q :q!<cr>

:nmap 是标准 命令的一个变体。Vim 有多个这样的变体。 我们就不详细介绍了,请参见 。ex :map :help :map-modes

这两个映射让你只需按一次键就能有规律地(Q)或强制(SHIFT-Q)退出 Vim!

调整 Windows 的大小

我们希望能根据需要轻松调整 Windows 的大小。 GUI Vim 实现了这一点,让你能在 Windows 之间抓取和拖动状态行,尽管作为纯粹主义者,我们更喜欢避免从键盘切换到鼠标。 因此,我们找到了两个相邻的按键 _ (下划线,即SHIFT加减号)和 + ,这两个按键不仅与其他更容易访问的按键相比是多余的1 不仅与其他更容易访问的按键多余,而且在记忆上分别与 "变小 "和 "变大 "相匹配。2

因此,我们将 _ 映射为减小对焦窗口大小,将 + 映射为增加对焦窗口大小。 请尝试输入以下几行(作为ex 命令)查看其效果,或将其添加到.vimrc文件中:

map _ :resize -1<CR>
map + :resize +1<CR>

现在,在任何窗口中,您都可以使用_+ ,分别缩小或增大窗口。 这很有用! 而且在我们稍后讨论 Vim 的命令历史窗口时也会派上用场。

双倍乐趣

我们中还有一个人最喜欢两个重映射,他认为这两个重映射更符合 一般的 Vim 理念。 也就是说,当vi命令模式中的命令字符加倍时,通常是默认或直观行为的快捷方式。 例如,dw 删除一个单词,而加倍的d (dd) 则删除当前行。 同样,yy 会删除当前行。

我们将这一理念应用到两个映射中,使 Vim 功能可以通过更直观的按键操作快速使用。 这些配置可激活 Vim 强大的命令和搜索历史记录,激活后,这两个功能都会出现在一个新的水平分割窗口中。

介绍历史窗口

Vim 有一个看似鲜为人知的功能,我们认为它是其最 强大的功能之一:命令行窗口。 Vim 可以存储ex命令和搜索模式的历史记录。这些存储的命令和模式可在 Vim 的命令行窗口中访问,该窗口由一个在屏幕底部打开的新的简短窗口组成。该窗口同时用于两种历史记录。命令和搜索模式是分开存储、访问和操作的。

您可以通过两种 方式(每种)进入命令行或搜索模式窗口。 默认的 Vim 行为使用CTRL-F ...

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

《Asterisk:权威指南》第 5 版

《Asterisk:权威指南》第 5 版

Jim Van Meggelen, Russell Bryant, Leif Madsen
图解大模型 : 生成式AI 原理与实战

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

Jay Alammar, Maarten Grootendorst

Publisher Resources

ISBN: 9798341657885