文章目录
- 前言
- 一、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系统中编辑文本的效率。如果你有任何疑问或建议,欢迎在评论区留言讨论🌹