Learn Vim 第六章:输入模式

Learn Vim 第六章:输入模式

💡 原文中文,约3000字,阅读约需8分钟。
📝

内容提要

本文介绍Vim输入模式的高效用法,涵盖进入/退出方式、重复输入、删除文本、寄存器粘贴、页面滚动、自动补全及执行普通命令等技巧,并建议养成非输入时退出到普通模式、善用复制和自动补全以减少重复输入的习惯。

🔎

延伸解读

输入模式中的隐藏操作

除了基本的插入和删除,输入模式还支持页面滚动、自动补全以及执行普通模式命令等高级功能。例如,使用Ctrl-x Ctrl-y和Ctrl-x Ctrl-e可以上下滚动页面;Ctrl-x Ctrl-l可以补全整行;而Ctrl-o可以临时进入插入-普通子模式,执行一次普通模式命令后自动返回。这些功能能显著提升编辑效率,值得在日常使用中逐步掌握。

减少重复输入的技巧

文章强调,在输入前应思考文本是否已存在,若存在则优先复制或移动,而非手动输入。同时,善用自动补全功能(如Ctrl-n、Ctrl-p)可以避免重复输入相同单词。此外,通过计数参数(如10i)可以重复输入文本,而使用寄存器(如Ctrl-r a)可以快速插入已复制的文本。这些技巧能有效减少重复劳动,提高编辑效率。

养成退出输入模式的好习惯

对于从其他编辑器转来的用户,容易长时间停留在输入模式,但文章建议在不需要输入时及时退出到普通模式。这有助于利用普通模式下的高效操作,如快速移动、删除和复制。同时,将Caps Lock映射为Esc或使用jj/jk组合键,可以减轻手指负担,使模式切换更流畅。

Q&A

Vim中如何从普通模式进入输入模式?

Vim提供了多种进入输入模式的方法,例如:i(在光标前输入)、I(在当前行第一个非空字符前输入)、a(在光标后追加)、A(在当前行末尾追加)、o(在下方新起一行)、O(在上方新起一行)、s(删除当前字符并输入)、S(删除当前行并输入)、gi(回到上次编辑位置)、gI(在当前行第一列输入)。初学者可以先掌握i和a。

Vim中如何退出输入模式?

可以使用<Esc>、Ctrl-[或Ctrl-c退出输入模式。其中<Esc>和Ctrl-[功能相同,Ctrl-c不检查缩写。如果觉得Esc键太远,可以将Caps Lock映射为Esc,或使用inoremap jj <Esc>等映射。

如何在Vim输入模式中重复输入文本?

在进入输入模式前传递计数参数即可,例如输入10i,然后输入“hello world!”并退出,Vim会重复这段文本10次。该方法适用于所有进入输入模式的命令,如10I、11a、12o等。

在Vim输入模式中如何快速删除文本?

在输入模式中,可以使用Ctrl-h删除一个字符,Ctrl-w删除一个单词,Ctrl-u删除一整行。这些快捷键也适用于命令行模式和Ex模式。

如何在Vim输入模式中粘贴寄存器内容?

在输入模式中,使用Ctrl-r加上寄存器标识即可粘贴对应寄存器的内容。例如,先用"ayiw将单词复制到寄存器a,然后在输入模式按Ctrl-r a粘贴。

Vim输入模式中如何滚动页面?

在输入模式中,先按Ctrl-x进入子模式,然后使用Ctrl-x Ctrl-y向上滚动,Ctrl-x Ctrl-e向下滚动。

Vim输入模式中有哪些自动补全命令?

Vim内置自动补全功能,常用命令包括:Ctrl-x Ctrl-l补全整行,Ctrl-x Ctrl-n从当前文件补全,Ctrl-x Ctrl-i从include文件补全,Ctrl-x Ctrl-f补全文件名。另外,Ctrl-n和Ctrl-p可以直接补全单词。触发补全后可用Ctrl-n和Ctrl-p浏览选项。

如何在Vim输入模式中执行普通模式命令?

在输入模式中按Ctrl-o进入insert-normal子模式,然后可以执行一条普通模式命令。例如:Ctrl-o zz居中窗口,Ctrl-o H/M/L跳转窗口位置,Ctrl-o dtz删除到字母z,Ctrl-o D删除到行末,Ctrl-o !! pwd执行终端命令等。

如何高效学习Vim输入模式?

建议养成不输入时退出到普通模式的好习惯,避免一直停留在输入模式。输入前先思考文本是否已存在,尽量复制或移动而非手动输入,并善用自动补全功能减少重复输入。

🏷️

标签

➡️

继续阅读