Bootstrap

【Linux探索学习】第七弹——Linux的工具(二):Linux下vim编辑器的使用详解

Linux的工具(一):【Linux探索学习】第六弹——Linux的工具(一):Ubuntu系统下的软件包管理器_ubuntu软件管理器-CSDN博客

前言:

在学习Linux之前,相信大家都或多或少的学习过一些计算机语言,比如C、C++等,也是用过一些编译软件,比如VSCode、VS2022等编译软件,这些软件都是在windows下的图形化编译软件,在Linux系统下不能直接使用这些软件,Linux下也有特定的编辑器和编译器,Vim(Vi IMproved)是 Linux 和 Unix 系统中最流行的文本编辑器之一。它是 Vi 编辑器的增强版,功能强大,灵活性高,广泛用于编写和编辑代码、文本文件等。本文将详细介绍 Vim 的基本概念、操作模式、常用命令以及一些高级功能。

注意:本文是所讲解的内容是在Ubuntu系统下进行操作的,centos系统下相关操作略有不同

目录

1. Vim 的基本概念

1.1 安装 Vim

​编辑

2. 操作模式

​编辑

3. 常用命令

3.1 打开和退出文件

3.2 基本编辑操作

3.3 移动光标

3.4 删除文字

3.5 复制

3.6 替换

3.7 更改

3.8 跳至指定的行

3.9 撤销上一次操作

4. 查找和替换

5. 高级功能

5.1 多文件编辑

5.2 分屏编辑

6. 配置 Vim

7. 总结


1. Vim 的基本概念

Vim 是一个基于命令行的文本编辑器,它的设计目标是为程序员和系统管理员提供高效的文本编辑能力。Eclipse、Visual Studio 等其他编辑器都提供了图形界面,但 Vim 的强大之处在于其键盘操作,使用户能快速进行文件编辑。但是vim作为一个文本编辑器的局限性就是它只能用来文本编写,也就是写代码,并不能执行代码,而像VS等软件则作为一个集成开发环境即可以写代码,还可以执行代码,vim编写的代码执行是需要其它Linux工具来完成的

1.1 安装 Vim

在 Ubuntu 系统上,可以通过以下命令安装 Vim:

sudo apt update 
sudo apt install vim

需要注意的是当我们以普通用户的身份去下载安装包的时候,是需要sudo提权的,如何使用sudo提权在之前的文章讲过了:Linux用户管理

2. 操作模式

Vim 主要有三种操作模式:

  • 命令模式:Vim 启动后默认的模式,可以使用快捷键执行命令,此模式下用户的所有输入都会被当作命令,一般不会 给你作为文本输入
  • 插入模式:用于文本输入,按 i 进入插入模式,按 Esc 返回普通模式,此模式下可以进行代码编写
  • 底行模式:用于输入命令,按 : 进入命令行模式,此模式下可以进行退出保存等多种命令操作

3. 常用命令

3.1 打开和退出文件

  • 打开文件:
vim filename

首先我们先创建一个filename文件,我们用vim进入

这样就表示我们进入到vim中去了

  • 退出 Vim:
:q # 如果没有修改,直接退出 
:q! # 强制退出,不保存修改 
:wq # 保存修改并退出

:q    vim编辑器的底行模式的具体进入方法就是:在命令模式下按冒号就可以了

比如上图中是我们进入到filename文件内,q命令就是退出该文件,但是我们在文件中写入内容不会被保存,当我们再次进入这个文件中去就没有内容了

:wq  保存的命令是w,所以wq命令的作用就是保存并退出

:wq!  感叹号的作用是强制执行的意思,因为有些文件是无法被写入的,后面我们也会遇到这类文件,如果我们想往里面写东西就需要感叹号强制写入保存

3.2 基本编辑操作

  • 进入插入模式:按 i(在光标前插入)或 a(在光标后插入)。
  • 删除字符:在普通模式下,按 x 删除光标下的字符。
  • 撤销操作:按 u 撤销操作,按 Ctrl + r 重做操作。

3.3 移动光标

  • h:向左移动一个字符。
  • j:向下移动一行。
  • k:向上移动一行。
  • l:向右移动一个字符。
  • gg:移动到文件开头。
  • G:移动到文件结尾。
  • Ctrl + f:向下翻一页。
  • Ctrl + b:向上翻一页。

3.4 删除文字

  • 「x」:每按一次,删除光标所在位置的一个字符
  • 「#x」:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符
  • 「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符
  • 「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符
  • 「dd」:删除光标所在行
  • 「#dd」:从光标所在行开始删除#行

3.5 复制

  • 「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
  • 「#yw」:复制#个字到缓冲区
  • 「yy」:复制光标所在行到缓冲区。
  • 「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
  • 「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。

3.6 替换

  • 「r」:替换光标所在处的字符。
  • 「R」:替换光标所到之处的字符,直到按下「ESC」键为止。

3.7 更改

  • 「cw」:更改光标所在处的字到字尾处
  • 「c#w」:例如,「c3w」表示更改3个字

3.8 跳至指定的行

  • 「ctrl」+「g」列出光标所在行的行号。
  • 「#G」:例如,「15G」,表示移动光标至文章的第15行行首。

3.9 撤销上一次操作

  • 「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。
  • 「ctrl + r」: 撤销的恢复

小结:上面的这些命令是经常要用到的vim编辑器命令,如果能够全部熟练掌握自然最好,但是也并不要求一定要记住,知道有这些命令即可,遇到了可以再搜索查看一下

4. 查找和替换

  • 查找文本:在命令模式下,输入 /text 查找 text,使用 n 移动到下一个匹配项。
  • 替换文本:在底行模式下,输入:
:%s/old_text/new_text/g

这将把文件中的 old_text 替换为 new_text

5. 高级功能

5.1 多文件编辑

  • 打开多个文件:
vim file1 file2

  • 查看打开的文件有哪些:
:ls  #底行模式下输入ls可以查看打开的文件有哪些

  • 切换文件:
:bnext  #可以切换到相近的下一个文件(如果所处文件为最后一个文件,则会切换到第一个文件)

比如此时我们在file1文件中,执行完bnext之后我们就可以切换到file2文件中:

再次执行bnext命令我们会发现我们又切换到file1文件

5.2 分屏编辑

  • 水平分屏:
:split 文件名
  • 垂直分屏:
:vsplit 文件名
  • 切换窗口:按 Ctrl + w 就可以切换到不同的窗口

比如:

执行一下水平分屏和垂直分屏:

执行完之后我们就可以打开三个文件,且这三个文件呈水平或垂直分屏状态:

6. 配置 Vim

经过我们上面的使用,已经能感受到vim的使用是不太方便的,没有vs等界面化的编辑方式,而且行号、自动补全括号、自动缩进等功能都是没有的,其实这些东西都是可以进行配置的

Vim 的配置文件是 ~/.vimrc,这个文件默认是没有的,是需要我们自己创建的

创建之后我们就可以vim进入里面然后进入各种相关配置

vim的配置是一个比较繁琐的事情,尤其是Ubuntu系统下的配置,更是困难,需要全部手动配置,centos系统下的vim配置网上是有直接的链接的,直接下载即可,vim配置的内容本篇就不做详解了,如果想要配置一下的可以去再搜索一下相关的博客,还是有不少写的比较好的vim配置博客的,由于版权问题,我这里就不贴出来了

7. 总结

Vim 是一个功能强大的文本编辑器,掌握 Vim 的基本操作和命令,可以大大提高文本编辑的效率。尽管 Vim 的学习曲线相对较陡,但一旦熟悉后,它无疑是开发者和系统管理员的得力助手。

感谢各位大佬观看,创作不易,还请各位大佬点赞支持!!!

;