4 个用于提高生产力的 Vim 功能
创始人
2024-03-02 10:09:53
0

Vim 有很多技巧,即使是用过它很多年的人仍然可以学习新东西。

Vim 总在那里。Vim 是当今最流行的文本编辑器之一。这在很大程度上是因为它随处可见。当你通过 SSH 连接到另一个系统时,你可能找不到 EmacsNanoVSCodium,但你可以放心,Vim 就在那里。

在本文中,我介绍了一些你可以用 Vim 做的中级事情,以加快你的工作流程并通常让你的一天更轻松。本文假设你以前使用过 Vim,已经了解编辑器的基础知识,并希望将你的 Vim 技能提高一个档次。Vim 充满了有用的技巧,没有人真正掌握它,但本文中的五个技巧可以提高你的技能,并希望让你更加爱上最受欢迎和喜爱的文本编辑器之一。

Vim 书签

Vim 提供了一种在文本中添加书签的简单方法。假设你正在编辑一个大文件,并且当前的编辑会话要求你在文件中不同位置的两段文本之间来回跳转。

首先,你输入 m(用于标记)为当前位置设置一个书签,然后为其命名。例如,如果我正在编辑的文件中有一个名称列表,我想稍后再跳回,我可以使用 mn(n 表示名称)为文件的该部分添加书签。

稍后,在编辑文件的另一部分并希望跳回该名称列表时,我有两个选项。我可以输入 ``n(反引号 n)转到书签的位置,或者我可以键入 ‘n`(单引号 n)转到书签所在行的开头。

当我不再需要书签时,我可以使用 :delmarks n 将其删除。:marks 会显示我所有的书签。

请注意,我使用小写字母来命名我的书签。这是故意的。你可以使用小写字母作为本地书签,使用大写字母来使书签在多个文件中具有全局性。

Vim 用户定义的缩写

如果你正在处理的文本有一个长词或短语多次出现,那么每次都完整地输入它会很快变得烦人。幸运的是,Vim 提供了一种创建缩写的简单方法。

要将 Acme Painted Fake Roadways, Inc. 的用户定义缩写设置为 apfr, 你需要输入 :ab apfr Acme Painted Fake Roadways, Inc.。现在当在编辑模式时,当你在输入 apfr 后面更上空格,就会变成 Acme Painted Fake Roadways, Inc.

当你关闭 Vim 会话时,你使用 :ab 设置的任何缩写都会丢失。如果你想在此之前取消设置缩写,你可输入 :una apfr

Vim 自动补全

许多人没有意识到 Vim 带有自动补全功能。如果你在文件中输入以前使用过的长词,这是一个方便的工具。

假设你正在撰写一篇文章,多次使用 Antarctica 一词。使用一次后,下次你可以只输入前几个字母。例如,你输入 Ant 然后按下 Ctrl+P。 Vim 要么补全单词(如果只有一个选项),要么为你提供可以用箭头键选择的单词列表,继续输入以进一步缩小搜索范围并使用 Tab 键选择单词。

Vim 范围选择

使用 Vim,你可以轻松地对文件中的一系列行执行操作。你可以通过起始行号、逗号和结束行号(包括)来指示范围。除了文字行号之外,你还可以使用句点(.)表示当前行,使用美元符号 ($) 表示文件缓冲区中的最后一行,以及使用百分号(%)表示整个文件。

这里举几个例子来说明。

如果要删除第 2 到 10 行,请输入(在命令模式下):

:2,10d

要删除从第 25 行到文件末尾的每一行:

:25,$d

你可以使用以下命令删除每一行:

:%d

要将第 5 到 10 行复制(或转移)到第 15 行之后:

:5,10t 15

要将第 5 行到第 10 行移动到第 15 行之后(而不是复制):

:5,10m 15

Vim 提高生产力

我希望这篇文章教会了你一些关于 Vim 文本编辑器的新知识。 Vim 有很多技巧,即使是使用了多年的人仍然可以学习新事物。总有一些新的和有用的东西可以学习。


via: https://opensource.com/article/22/3/vim-features-productivity

作者:Hunter Coleman 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Vim

相关内容

等了30年,微软MS-DO...
曾经称“开源是毒瘤”时有多么嫌弃,现在“微软 ❤️ 开源”就有多么...
2025-06-26 09:11:25
Vim编辑器使用
什么是vim?Vim 是从 vi 发展出来的一个文本编辑器。代码补...
2025-05-31 19:54:52
不知道如何在OS X上在V...
在OS X上,在Vim终端之间复制可以使用Vim的剪贴板功能。以下...
2025-01-12 07:30:30
不支持对函数进行vsvim...
在VSCode中,VSCodeVim插件默认不支持对函数进行调用。...
2025-01-11 22:00:40
不移动光标,VIM 删除外...
在Vim中,可以使用以下命令删除外部/内部标签:删除外部标签:da...
2025-01-11 06:01:18
不要在vim中的逃逸时候向...
要在Vim中逃逸时向后退缩,而不使用映射,可以使用以下代码示例中的...
2025-01-11 04:31:25

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
如何检查你的 Linux 系统... 不知道在使用哪个初始化系统?以下是方法。每个主流 Linux 发行版(包括 Ubuntu、Fedor...