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

前言

这是我听老师讲课做的笔记,考试要看的。 这是视频地址
作者:RodmaChen
关注我的csdn博客,更多Linux笔记知识还在更新

一 概述

文本编辑软件在任何操作系统上都是必备的软件。我们在 Linux 上不缺乏非常现代化的编
辑软件,但是它们都是基于 GUI(图形界面)的编辑软件。
正如你所了解的,Linux 真正的魅力在于命令行。当你正在用命令行工作时,你就需要一个可以在控制台窗口运行的文本编辑器。

文本编辑器的作用

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

文本编辑器的分类

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

二 vim 编译器常用的操作命令

vim编辑器中有三种状态模式通过Esc键在这些模式中跳转

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

在这里插入图片描述

2.1 vim编辑器的启动和退出

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

2.2 文件的打开和读取

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

2.3 文件保存与另存为

在这里插入图片描述

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进行文本的向下翻页

本人博客:https://blog.csdn.net/weixin_46654114
本人b站求关注:https://space.bilibili.com/391105864
转载说明:跟我说明,务必注明来源,附带本人博客连接。

请给我点个赞鼓励我吧
在这里插入图片描述

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 博客之星2020 设计师:CY__0809 返回首页