Hello! 欢迎来到小浪云!


Linux文本编辑器——vim编译器的全面讲解


linux文本编辑器——vim编译器的全面讲解

前言

文本编辑软件是任何操作系统不可或缺的工具。尽管Linux上不乏现代化的图形界面编辑软件,但Linux的真正魅力在于其命令行界面。在命令行工作时,用户需要一个可以在控制台窗口运行的文本编辑器。

文本编辑器的作用

Linux系统中的配置文件是以文本文件形式保存的 • Linux管理员通过编辑这些配置文件来进行系统管理

文本编辑器的分类

• 行编辑器与全屏幕编辑器 • 字符界面编辑器与图形界面编辑器

vim 编译器常用的操作命令

vim编辑器包含三种状态模式,通过Esc键在这些模式中切换:

• 命令模式:用于控制光标移动,并进行复制、粘贴、删除和查找等操作 • 输入模式:用于正常的文本录入 • 末行模式:用于保存或退出文档,以及设置编辑环境

Linux文本编辑器——vim编译器的全面讲解

2.1 vim编辑器的启动和退出

启动
$ vi 直接进入编辑环境
$ vi 文件名 进入编辑环境并打开(新建)文件
退出
:q 退出
:wq 保存并退出
:q! 输入末行命令,放弃对文件的修改并退出编辑器

2.2 文件的打开和读取

命令 功能
:e 文件名 打开新的文件到vi编辑器中
:e! 文件名 打开新的文件到vi编辑器中,并放弃对当前文件的修改
:r 文件名 读取文件内容到当前vi编辑器中

2.3 文件保存与另存为

Linux文本编辑器——vim编译器的全面讲解

2.4 vim编辑器的删除与撤销

命令 功能
x 删除光标处的单个字符(相当于delete
dd 删除光标所在行,5dd可删除5行内容(常用)
dw 删除当前字符到单词尾(包括空格)的所有字符
de 删除当前字符到单词尾(不包括单词尾部的空格)的所有字符
d$ 删除当前字符到行尾的所有字符
d^ 删除当前字符到行首的所有字符
J 删除光标所在行行尾的换行符,相当于合并当前行和下一行的内容
u 取消最近一次的操作,并恢复操作结果,可多次使用u命令恢复已进行的多步操作(常用)
U 取消对当前行进行的所有操作
Ctrl + r 对使用u命令撤销的操作进行恢复

2.5 vim编辑器的复制与粘贴

注意:在输入命令时是看不见的,这是新手容易出错的地方。

命令 功能
yy 在命令模式下,将光标移动到将要复制的行处,按“yy”进行复制;单行复制
nyy 在命令模式下,将光标移动到将要复制的首行处,按“nyy”复制n行;其中n为数字。多行复制
p 在命令模式下,将光标移动到将要粘贴的行处,按“p”进行粘贴

2.6 vim编辑器的查找与替换

  1. vi提供了多种方法来定位查找指定字符串在文件中的位置,同时还提供了一种强大的全局替换功能。
  2. 要查找一个字符串,在vi命令模式下键入“/”,后面跟要查找的字符串,再按回车。vi将光标定位到该字符串下一次出现的地方。键入“n”跳到该字符串的下一个出现处,键入“N”跳到该字符串的上一个出现处。
命令 功能
/word 从上到下在文件中查找字符串“word
?word 从下到上在文件中查找字符串“word”
n 定位下一个匹配的被查找字符串
N 定位上一个匹配的被查找字符串
:s/old/new 将当前行中查找到的第一个字符“old”串替换为“new”
:s/old/new/g 将当前行中查找到的所有字符串“old”替换为“new”
:#,#s/old/new/g 在行号“#,#”范围内替换所有的字符串“old”为“new”
:%s/old/new/g 在整个文件范围内替换所有的字符串“old”为“new”(常用)
:s/old/new/c 在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认(常用)

三 vim 输入模式常见操作

3.1 快速进入输入模式

由于vim在命令模式下无法对当前文件进行输入操作,必须进入输入模式才能进行文本的输入。快速进入有i、a、o这几个键。输入时看不见。

命令 功能
i 在当前光标处进入插入状态
a 在当前光标后进入插入状态
A 将光标移动到当前行的行末,并进入插入状态
o 在当前行的下面插入新行,光标移动到新行的行首,进入插入状态
O 在当前行的上面插入新行,光标移动到新行的行首,进入插入状态

3.2 快速移动编辑

按键 功能
方向键 进行上下左右方向的光标移动
Home 快速定位光标到行首
End 快速定位光标到行尾
PageUp 进行文本的向上翻页
Backspace 删除光标左侧的字符
Del 删除光标位置的字符

四 vim 命令模式常见操作

4.1 行内快速跳转

Home操作键 功能
^ 将光标快速跳转到本行的行首字符(home)
$ 将光标快速跳转到本行的行尾字符(end)
w 将光标快速跳转到当前光标所在位置的后一个单词的首字母
b 将光标快速跳转到当前光标所在位置的前一个单词的首字母
e 将光标快速跳转到当前光标所在位置的后一个单词的尾字母
方向键 进行上下左右方向的光标移动
Home 快速定位光标到行首
End 快速定位光标到行尾

4.2 行间快速跳转

命令 功能
:set nu 在编辑器中显示行号(常用)
:set nonu 取消编辑器中的行号显示
1G 跳转到文件的首行(常用)
G 跳转到文件的末尾行(常用)
#G 跳转到文件中的第#行(常用)
PageUp 进行文本的向上翻页
PageDown 进行文本的向下翻页

相关阅读