Linux Vim 三种工作模式
在 Linux 系统中,Vim 是一款强大且广泛使用的文本编辑器,它具备三种主要的工作模式,分别是命令模式(Command mode)、插入模式(Insert mode)和底行模式(Last line mode)。了解并熟练运用这三种模式,能够极大地提高您在 Linux 环境下的文本编辑效率。本文将详细介绍这三种模式的特点、使用方法以及相关的最佳实践。
目录#
- 命令模式
- 特点
- 常见操作
- 最佳实践
- 示例用法
- 插入模式
- 特点
- 进入与退出方式
- 常见操作
- 示例用法
- 底行模式
- 特点
- 常见命令
- 示例用法
- 模式之间的切换
- 切换关系
- 示例操作
- 总结
- 参考资料
1. 命令模式#
特点#
当您启动 Vim 编辑器时,默认进入的就是命令模式。在这个模式下,您不能直接输入文本,而是通过输入各种命令来执行不同的操作,如移动光标、复制粘贴、删除文本等。
常见操作#
- 光标移动
h:左移一个字符j:下移一行k:上移一行l:右移一个字符w:向前移动一个单词b:向后移动一个单词0:移动到行首$:移动到行尾G:移动到文件末尾1G或gg:移动到文件开头
- 复制粘贴
yy:复制当前行nyy:复制从当前行开始的 n 行(例如3yy复制 3 行)p:在当前行下方粘贴复制的内容P:在当前行上方粘贴复制的内容
- 删除
x:删除当前字符dd:删除当前行ndd:删除从当前行开始的 n 行(例如3dd删除 3 行)
最佳实践#
在命令模式下,尽量使用快捷键来提高操作效率。通过多次使用相同的命令,可以一次性完成多个操作。例如,连续按 3j 可以快速向下移动 3 行。
示例用法#
假设您有一个文本文件 test.txt,使用 vim test.txt 打开它,进入命令模式。您可以使用 j 和 k 键上下移动光标,查看文件内容。如果您想复制第 3 行到第 5 行的内容并粘贴到第 10 行下方,可以先将光标移动到第 3 行,输入 3yy 复制 3 行,然后将光标移动到第 10 行,输入 p 进行粘贴。
2. 插入模式#
特点#
在插入模式下,您可以像使用普通文本编辑器一样输入和编辑文本。
进入与退出方式#
- 进入插入模式
i:在当前光标所在位置之前插入文本a:在当前光标所在位置之后插入文本o:在当前行的下一行插入新行并进入插入模式O:在当前行的上一行插入新行并进入插入模式
- 退出插入模式
按
Esc键可以从插入模式返回到命令模式。
常见操作#
在插入模式下,您可以像在普通文本编辑器中一样使用键盘输入和删除字符,使用方向键移动光标等。
示例用法#
在命令模式下,将光标移动到需要插入文本的位置,按下 i 进入插入模式,然后输入您需要的文本。完成输入后,按 Esc 键返回到命令模式。
3. 底行模式#
特点#
底行模式通常用于执行一些与文件相关的操作,如保存文件、退出编辑器、查找替换等。在命令模式下,输入 : 即可进入底行模式,此时光标会移动到屏幕底部的一行,等待您输入命令。
常见命令#
- 保存与退出
:w:保存文件:q:退出编辑器(如果文件未修改):wq或:x:保存文件并退出编辑器:q!:强制退出编辑器,不保存修改
- 查找与替换
:/keyword:在文件中查找关键字keyword:s/old/new:将当前行中第一个old替换为new:s/old/new/g:将当前行中所有的old替换为new:%s/old/new/g:将文件中所有的old替换为new
- 显示行号
:set number或:set nu:显示行号:set nonumber或:set nonu:隐藏行号
示例用法#
假设您在编辑一个文件时,需要将文件中所有的 hello 替换为 hi,可以在命令模式下输入 : 进入底行模式,然后输入 :%s/hello/hi/g 并回车,即可完成替换。如果您编辑完成后想保存文件并退出,输入 :wq 并回车即可。
4. 模式之间的切换#
切换关系#
- 启动 Vim 后默认进入命令模式。
- 从命令模式可以通过
i、a、o、O等键进入插入模式,按Esc键从插入模式返回到命令模式。 - 从命令模式输入
:可以进入底行模式,按Esc键从底行模式返回到命令模式。
示例操作#
以下是一个简单的示例操作流程:
- 使用
vim test.txt打开文件,进入命令模式。 - 按
i进入插入模式,输入一些文本。 - 按
Esc返回到命令模式,使用j和k键移动光标。 - 输入
:进入底行模式,输入:set nu显示行号。 - 按
Esc返回到命令模式,再次按i进入插入模式继续输入文本。 - 完成编辑后,按
Esc回到命令模式,输入:进入底行模式,输入:wq保存文件并退出。
总结#
Vim 的三种工作模式各有特点,相互配合可以实现高效的文本编辑。命令模式用于执行各种操作,插入模式用于输入和编辑文本,底行模式用于执行文件相关的操作。熟练掌握这三种模式之间的切换和使用方法,能够让您在 Linux 系统下更加轻松地进行文本编辑工作。
参考资料#
- 《Vim 实用技巧(第 2 版)》
- Vim 官方文档:https://vimhelp.org/