当前位置:首页 > 技术文章 > 正文内容

高效使用 Vim 编辑器的 10 个技巧

zonemu3个月前 (07-09)技术文章60

在 Reverb,我们使用 MacVim 来标准化开发环境,使配对更容易,并提高效率。当我开始使用 Reverb 时,我以前从未使用过 Vim。我花了几个星期才开始感到舒服,但如果没有这样的提示,可能需要几个月的时间。这里有十个技巧可以帮助你在学习使用 Vim 时提高效率。

1. 通过提高按键重复率来更快地导航

转到系统偏好设置-> 键盘,增加您的按键重复,并缩短您的延迟直到重复。这将让您使用 hkjl 更快地导航(不要使用那些箭头键!)

2.使用gg/G和ctrl-d/ctrl-u垂直导航

垂直导航最简单的方法是使用 :<line number> 直接跳转到您需要的行号。有时您不知道该行号,因此您可以使用 ctrl-u 和 ctrl-d 快速上下“翻页”。需要遍历整个文档?使用 gg 快速跳转到文档顶部或使用 G 跳转到底部。

3. 使用 0 和 $ 水平导航

水平导航的方法有很多,但对我最有帮助的总是 0,它会将您带到行首,而 $,它会将您带到行尾。

4.通过重新绑定大写锁定(或使用 ctrl-c)更快地逃脱

如果 Vim 就是为了让你的手指尽可能靠近键盘的“主行”,那么为什么将转义映射到如此重要的功能呢?使用键绑定程序(混响是Seil的一部分)将转义映射到大写锁定或开始使用 ctrl-c,这是转义的默认替代方法。

5.与c同时删除和切换到插入模式

同理,d 是 Vim 的“动词”,表示删除,c 是动词,表示变化。c 允许您删除并立即进入插入模式。例如,“ct”删除所有内容,直到下一个空格并进入插入模式。'c#39; 做同样的事情直到行尾。

6. 使用 / 搜索并使用 n 和 N 导航

cmd-f 的 Vim 等效项是 / 后跟您要查找的术语。搜索完一个词后,用 n 转到下一个实例,用 N 转到前一个实例。

7. 搜索并替换为 :%s

如果你需要替换一个术语,你可以使用稍微复杂一些的 :%s 命令,它的结构如下:

:%s/<term to replace>/<replacement>/<flags>

例如,如果您想查找“grey”并将其替换为“gray”,则可以使用:%s/grey/gray。然而不幸的是,默认情况下,这只会替换每行中术语的第一个实例。使用 g 标志替换第一项的所有实例,无论每行有多少。

你也可以使用 c 标志让 Vim 在替换之前确认每个实例。所以 :%s/grey/gray/gc 将找到“grey”的每个实例,并要求您确认是否希望将其替换为“gray”。

8. 使用 ctrl-o 和 ctrl-i 跳转到以前访问过的位置

Vim 会跟踪您在文件中的位置,包括跨文件。每次更改文件或打开新文件时,都会存储该位置。您可以使用 ctrl-o 跳转到以前访问过的位置。同样,您可以使用 ctrl-i 向前跳转。这意味着如果您在同一个选项卡或窗口中处理两个文件(没有屏幕分割),您可以使用 ctrl-o 和 ctrl-i 在它们之间轻松导航。

9.用gf去其他文件

当您将光标放在另一个文件的名称中时,您可以按 gf 跳转到该文件。由于将文件命名为与它们定义的类相同的常见做法,这特别有用。为了提高效率,请参阅下一个提示。

10.使用插件

标准 Vim 非常强大,但它的很大一部分功能在于它的可定制性。像 NerdTree 和 CtrlP 这样的文件导航插件可能是一些最容易访问的工作流程更改插件,但请做一些研究!那里有一吨。在 Reverb,我们使用YADR,这是一个 dotfile repo,它极大地增强了 MacVim 和终端的功能(特别是对于 Rails 开发人员)。

希望您今天学到了有关如何最有效地使用 Vim 的新知识。使用 Vim,您越简化您的工作流程,您就会越舒适。如果您有任何自己的建议,请给我们留言!

相关文章

「 VUE3 + TS + Vite 」父子组件间如何通信?

组件之间传值,大家都很熟悉,涉及到 VUE3 +TS 好多同学就无从下手了,所以分享这篇文章,希望看完后提起 VUE3+TS 能够不慌不忙。平时使用的函数如:ref、reactive、watch、co...

Gitlab 的使用和代码审查流程介绍

1、先简洁介绍下项目常用的信息-面板统计页面2、用户信息面板3、服务器信息4、项目信息5、重点介绍代码提交审核机制和授权合并机制开发人员推送代码的时候不能直接推送到master,否则就会报错。此时开发...

Web前端全套教程+视频包含JavaScript、Vue等

写在前面:web前端从入门到精通经典教程,老师精心讲,想从事编程或者数据分析行业的小伙伴点进来,只需你评论并关注私信留言“前端”。便可免费获取。WEB前端简介:WEB前端工程师,也叫Web前端开发工程...

使用HTML5+JS实现文字转语音(h5 文字转语音)

使用HTML5+JS实现文字转语音现在越来越多的视频采用了AI语音,下面给大家介绍几种简单的文字转语音的办法,完全免费的欧。使用HTML5语音合成API-SpeechSynthesis实现的文字转语音...

Web开发的十佳HTML5响应式框架(h5响应式模板)

HTML5框架是一类有助于快速轻松创建响应式网站的程序包。这些HTML5框架有着能减轻编程任务和重复代码负担的神奇功能。关于HTML5的框架种类繁多,并且很瘦欢迎,因为它能允许开发人员花费更少的时间和...

ES6史上最全数JS数组方法合集-02-数组操作

数组生成 array.oflet res = Array.of(1, 2, 3) console.log(res) // [1, 2, 3]下标定位 indexOf用于查找数组中是否存在某个值,如果存...