秒变 Vim 高手:必学的编辑技巧与隐藏功能大揭秘
文章目录
- 前言
- 一、vi与vim
- 二、Vim的三种模式
- 1. 普通模式
- 2. 插入模式
- 3. 命令模式
- 三、Vim中的查找与替换
- 1. 查找
- 2. 替换
- 四、给Vim设置行号
- 1. 临时显示行号
- 2. 永久显示行号
- 总结
前言
在Linux系统中,文本编辑器是开发者和系统管理员日常工作中的重要工具之一。其中,vi和vim是最常用的两个编辑器。本文将介绍vi和vim的基本区别,深入讲解vim的三种模式、常用操作,以及如何在命令模式下进行查找替换,最后会介绍如何在vim中显示行号。

一、vi与vim
vi (Visual Interface) 是Linux/Unix系统中内置的一个标准文本编辑器。虽然功能强大,但相对简洁,无法满足更高层次的编辑需求。vim (Vi IMproved) 是对vi的增强版,它在vi的基础上增加了许多功能,比如语法高亮、分屏操作、插件支持等。
vi和vim的区别:
- 功能增强:vim支持语法高亮、插件、宏等功能,vi相对较为简陋。
- 兼容性:vim完全兼容vi,因此使用vim进行简单的编辑工作与vi基本一致。
- 可扩展性:vim支持丰富的扩展功能,用户可以根据需求安装插件。
如果你想使用vim,只需在终端输入vim命令。大多数现代的Linux发行版默认已安装vim,如果未安装可以通过以下命令安装:
sudo apt install vim # 对于Debian/Ubuntu系统
sudo yum install vim # 对于CentOS/Fedora系统
二、Vim的三种模式
Vim编辑器有三种主要的模式,每种模式都有其特定的操作方式:
- 普通模式 (Normal Mode):默认进入vim时所在的模式,主要用于浏览文件、删除、复制、粘贴等操作。
- 插入模式 (Insert Mode):允许用户输入和修改文本的模式。
- 命令模式 (Command Mode):用户可以执行文件保存、退出、查找、替换等操作。
1. 普通模式
在系统提示符后输入vim和想要编辑(或建立)的文件名,便可进入vim,如:


如果只输入vim,而不带文件名,也可以进入vim,相当于是使用帮助


进入vim之后,首先进入的就是普通模式,普通模式是vim的默认模式。在这个模式下,你可以通过移动光标、删除、复制和粘贴文本,还可以切换到其他模式。常见操作包括:
- 移动光标:用
h、j、k、l分别移动光标到左、下、上、右 - 删除操作:
x删除光标下的字符,dd删除当前行 - 复制与粘贴:
yy复制当前行,p在光标之后粘贴
要回到普通模式,按下Esc键即可
2. 插入模式
在插入模式下,用户可以输入文本。进入插入模式的方法包括:

进入插入模式后,可以正常输入文本,编辑完成后按Esc返回到普通模式。

3. 命令模式
命令模式用于执行文件操作、查找替换等操作。进入命令模式的方法是在普通模式下按:,此时vim会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为命令模式的提示符,等待用户输入命令。

在命令模式下,常见操作有:
:w:保存:w filename:另存为filename:wq:保存退出:wq filename:以filename为文件名保存后退出:q!:不保存退出:x:保存并退出,功能和:wq相同,其后可以跟文件名
通常退出vim命令为
:wq和:q!
三、Vim中的查找与替换
在命令模式下,vim提供了强大的查找与替换功能
1. 查找
首先按Esc键,进入命令模式;输入/或?就可以进行查找了
例如:在一个文件中查找ll单词,然后在命令模式下输入:
/ll 或 ?ll

2. 替换
:[范围]s/查找内容/替换内容/[选项]
范围:指定替换的范围,比如
%表示整个文件,1,10表示第1到第10行,不指定范围的话就是当前行
选项:
g:全局替换,即每行中所有匹配的内容都替换c:在替换前确认i:忽略大小写
例子:
- 查找并替换当前行:
:s/old/new/g
这条命令会将当前行中的所有old替换为new


- 查找并替换整个文件:
:%s/old/new/g
这条命令会将文件中的所有old替换为new


- 全局替换并逐一确认:
:%s/old/new/gc
在替换前会逐个提示用户确认是否替换



四、给Vim设置行号
在编写代码时,行号通常非常重要,vim提供了显示行号的功能。可以通过以下两种方式在vim中显示行号:
1. 临时显示行号
在vim中输入以下命令可以临时显示行号,退出vim后行号设置会恢复默认状态:
:set number

要关闭行号显示,可以使用:
:set nonumber

2. 永久显示行号
如果你希望每次打开vim时都显示行号,可以通过vim ~/.vimrc命令编辑vim配置文件.vimrc,在其中添加以下内容:
set number
保存配置后,行号会永久生效
总结
通过本文,我们详细介绍了如何在Linux环境下使用Vim编辑器进行文本编辑,并深入探讨了Vim的三种模式及其各自的操作方式。文章从vi与vim的区别开始,逐步讲解了Vim的普通模式、插入模式、命令模式的使用方法,特别是在命令模式下如何进行查找和替换操作。我们还展示了如何通过命令或配置文件来为Vim添加行号功能。希望这篇文章能帮助你更好地掌握Vim编辑器,提高在Linux系统中编辑文本的效率。如果你有任何疑问或建议,欢迎在评论区留言讨论🌹

