Linux知识之vim编辑器

文章目录

    • 一、vi与vim文本编辑器
      • 1.什么是文本编辑器
      • 2.vi/vim编辑器简介及区别
        • 2.1 简介
        • 2.2 vi与vim的区别
    • 二、vim编辑器
      • 2.1 vim编辑器使用指南
      • 2.2 进入文件后的vim使用方法
        • 三种模式
          • 2.2.1 命令模式
          • 2.2.2 插入模式
          • 2.2.3 末行模式
    • 总结

一、vi与vim文本编辑器

1.什么是文本编辑器

文本编辑器,顾名思义,就是用于编写文本、修改配置文件和程序的计算机软件。

在Windows系统中,这种软件通常为记事本、notepad等等,而在Linux系统中,通常使用vi/vim作为首选的文本编辑器, 当然Linux中肯定不止这两种编辑器。但是,我个人认为,刚接触Linux的小白,只需掌握vi/vim编辑器,就足以应对新手期,等到后面学扎实了,是完全可以按照个人的爱好再进行抉择的。

2.vi/vim编辑器简介及区别

2.1 简介
  • vi编辑器:vi编辑器是类UNIX操作系统的默认文本编辑器。
  • vim编辑器:vim是vi编辑器的升级版,其具备一些vi编辑器做不到的功能。
2.2 vi与vim的区别
  1. vi编辑器是系统安装好了(无论是最小安装还是图形化界面安装)之后自带的,无需再进行安装;而vim编辑器在最小化安装的系统中是没有的,需要使用 yum install vim 进行手动安装
    图示为最小化安装界面:
    Linux知识之vim编辑器_第1张图片
  2. vi编辑器在编辑文档过程中是不支持多级撤销的,即只能撤销一次;而vim支持多级撤销,可以进行无限制的撤销操作。
  3. vi编辑器编辑文本是显示的是单一的黑色;而vim编辑器则支持高亮显示,即使用不同的颜色来标识文件的内容,如下两图所示。
    vi编辑器:Linux知识之vim编辑器_第2张图片
    vim编辑器:
    Linux知识之vim编辑器_第3张图片
  4. vim支持正则表达式的搜索;而vi不支持正则表达式的搜索。

二、vim编辑器

vim作为vi编辑器的升级版,其功能要比vi强大得多,也更加方便操作人员的使用,所以,我们接下来的内容全部都使用vim编辑器进行讲解操作。
(注:在Linux中,如果使用vim编辑了一个本不存在的文件,例如 vim 123.txt(123.txt是不存在的),那么进行的操作就是vim帮助我们新建了一个叫123.txt的文件,然后再对123.txt进行编辑;如果123.txt事先存在,那么就是直接对123.txt进行编辑。
在这里插入图片描述

Linux知识之vim编辑器_第4张图片
在这里插入图片描述

Linux知识之vim编辑器_第5张图片

2.1 vim编辑器使用指南

格式:vim [选项] [文件名]
(注:选项可有可无,不加选项就是普通的进入文件,并且光标位于文件的最开始的位置,然后进行编辑;添加选项,就是对所需编辑的文件进行一些特殊的操作,下面我们以etc目录下的passwd文件进行演示。
!!!友情提示:无论是做实验还是工作,在对配置文件进行修改时,最好将源文件至少备份一份,以免出现因修改配置文件而导致部分服务宕机的问题。!!!

常用选项 作用
+# 打开文件后,让光标置于第#行的行首,只有+号是默认文件的最后一行行首
+/字符串 让光标位于第一个被 字符串 匹配到的行的行首
!$ 打开上一次的文件,相同操作的还有esc+.

1. vim /etc/passwd(不加选项)

Linux知识之vim编辑器_第6张图片

2. vim +3 /etc/passwd(打开文件时,光标位于第3行行首)
Linux知识之vim编辑器_第7张图片
3. vim + /etc/passwd(打开文件时光标位于文件最后一行行首)
Linux知识之vim编辑器_第8张图片
4.vim +/var /etc/passwd(打开文件时,光标位于第一个gdm所在行行首,并且会将该文件中所有的var进行加亮)

Linux知识之vim编辑器_第9张图片
5.vim !$(对上一次进行操作的文件进行编辑,!$不止适用于vim,其适用于大部分linux命令)

Linux知识之vim编辑器_第10张图片

2.2 进入文件后的vim使用方法

三种模式

进入文件后,vim编辑器分为三种模式:

  1. 命令模式:即默认模式,可以实现移动光标、剪切/复制文本
  2. 插入模式:即编辑模式,用于编辑文本
  3. 末行模式:用于进行保存、退出等操作

Linux知识之vim编辑器_第11张图片

1. 命令模式 ➡ 插入模式:在命令模式中,按 i、I(大写 i )、a、A、o、O 等进入插入模式。反之,按esc键即可从插入模式换回命令模式。

快捷键 作用
i 在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动
I 行首插入命令
o 在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本
O 在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本
a 在当前光标所在位置之后插入随后输入的文本
A 行尾插入命令

2. 命令模式 ➡ 末行模式:在命令模式中,按 :(冒号)进入末行模式。反之,连按两次esc键或者将 : 删掉即可从插入模式换回命令模式。

2.2.1 命令模式

命令模式:此模式下,可使用方向键(上、下、左、右键)或 k、j、h、i 移动光标的位置,还可以对文件内容进行复制、粘贴、替换、删除等操作。

操作键 作用
ctrl+f或者Pagedown 向下翻页
ctrl+b或者Pageup 向上翻页
Home ; ^ ; 0 跳到本行的行首
End ; $ 跳转到本行的行尾
1G 或 gg 跳转到文件的第一行(包括空行)
G 跳转到文件的最后一行
#G #代表行号数字,#G表示跳转到第#行
M 跳转到当前显示页面的中间行
x或delete 删除当前光标的字符
dd 删除一行
#dd 删除当前光标开始到第#行(包括当前行)
d^ 删除当前光标之前到行首 (不包括当前光标)
d$ 删除当前光标到行尾 (包括当前光标)
dw 删除当前光标处的单词
R 或 shift+r 替换当前光标处文字,会进入替换模式
yy 复制当前光标处一整行
#yy 复制当前光标处向下的#行
p 粘贴到光标处下一行
P 粘贴到光标处上一行
J 将所有换行符删掉(两行变一行)
u 撤销上一次操作
U 撤销所有操作
/字符 向下查找字符内容
?字符 向上查找字符内容
n 向同一方向重复上次的查找指令
N 向相反方向重复上次的查找指定
2.2.2 插入模式

插入模式的快捷键及作用和上面 命令模式 ➡ 插入模式 的按键一样,进入插入模式后,即可进行文件的修改。

2.2.3 末行模式

文件中的指定内容执行保存、查找或替换等操作。使 vim 切换到末行模式的方法是在命令模式状态下按 :(英文冒号)键,此时 vim 窗口的左下方出现一个 : 符号,这是就可以输入相关指令进行操作了。

快捷键 作用
:q 不保存退出
:q! 不保存强制退出
:w 保存
:w 新文件名 另存为新文件
:wq 或 ZZ 或 :x 保存并退出
:e 其他文件名(如果已修改需要加e!) 打开新文件进行编辑
:r 其他文件名 在当前文件中读入其他文件内容
:set nu 显示行号
:set nonu 取消显示的行号
:set cul (:set nocul ) 光标所在行有下划线(取消)
:set ai 对齐 (回车后和上一行对齐)
:set all 可以看所有的一些帮助
:set key=password 加密码,密码为passwd
:set key=空白 取消密码
:set tabstop=4 (set ts=4) tab 一次为四个空格
:.!命令 (who,date ) 将date命令插入当前行注意会覆盖当前行
: s /a/b 替换当前行中的第一个a改为b
: s /a/b/g 替换当前行中的所有a改为b
:x,y s /a/b/g 将x到y行所有a改为b
:%s /a/b/g %代表全文 全文替换所有a改为b
:#d 删除第#行
:x,y d 删除x到y行
:#y 复制第#行
:a,b y 复制a到b行

总结

以上就是Linux系统中vim编辑器的大致使用方法,作为小白来说,初期掌握以上知识是完全够用的。vim编辑器的知识点、小技巧等有太多了,讲是讲不完的,这个就需要我们以后在工作中去慢慢摸索了。

vim编辑器的许多技巧,在这里我就不列举出来了,后面有机会的话,我会再写一篇文章来介绍这些技巧。

最后,十分感谢大家的阅读,如上文有不到之处,欢迎批评指正。

你可能感兴趣的:(Linux,编辑器,vim,linux)