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. Vim 的基本概念)
[1.1 安装 Vim](#1.1 安装 Vim)
[2. 操作模式](#2. 操作模式)
[3. 常用命令](#3. 常用命令)
[3.1 打开和退出文件](#3.1 打开和退出文件)
[3.2 基本编辑操作](#3.2 基本编辑操作)
[3.3 移动光标](#3.3 移动光标)
[3.4 删除文字](#3.4 删除文字)
[3.5 复制](#3.5 复制)
[3.6 替换](#3.6 替换)
[3.7 更改](#3.7 更改)
[3.8 跳至指定的行](#3.8 跳至指定的行)
[3.9 撤销上一次操作](#3.9 撤销上一次操作)
[4. 查找和替换](#4. 查找和替换)
[5. 高级功能](#5. 高级功能)
[5.1 多文件编辑](#5.1 多文件编辑)
[5.2 分屏编辑](#5.2 分屏编辑)
[6. 配置 Vim](#6. 配置 Vim)
[7. 总结](#7. 总结)
1. Vim 的基本概念
Vim 是一个基于命令行的文本编辑器,它的设计目标是为程序员和系统管理员提供高效的文本编辑能力。Eclipse、Visual Studio 等其他编辑器都提供了图形界面,但 Vim 的强大之处在于其键盘操作,使用户能快速进行文件编辑。但是vim作为一个文本编辑器的局限性就是它只能用来文本编写,也就是写代码,并不能执行代码,而像VS等软件则作为一个集成开发环境即可以写代码,还可以执行代码,vim编写的代码执行是需要其它Linux工具来完成的
1.1 安装 Vim
在 Ubuntu 系统上,可以通过以下命令安装 Vim:
cpp
sudo apt update
sudo apt install vim
需要注意的是当我们以普通用户的身份去下载安装包的时候,是需要sudo提权的,如何使用sudo提权在之前的文章讲过了:Linux用户管理
2. 操作模式
Vim 主要有三种操作模式:
- 命令模式:Vim 启动后默认的模式,可以使用快捷键执行命令,此模式下用户的所有输入都会被当作命令,一般不会 给你作为文本输入
- 插入模式 :用于文本输入,按
i
进入插入模式,按Esc
返回普通模式,此模式下可以进行代码编写- 底行模式 :用于输入命令,按
:
进入命令行模式,此模式下可以进行退出保存等多种命令操作
3. 常用命令
3.1 打开和退出文件
- 打开文件:
cpp
vim filename
首先我们先创建一个filename文件,我们用vim进入
这样就表示我们进入到vim中去了
- 退出 Vim:
cpp
: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
移动到下一个匹配项。 - 替换文本:在底行模式下,输入:
cpp
:%s/old_text/new_text/g
这将把文件中的 old_text
替换为 new_text
。
5. 高级功能
5.1 多文件编辑
- 打开多个文件:
cpp
vim file1 file2
- 查看打开的文件有哪些:
cpp
:ls #底行模式下输入ls可以查看打开的文件有哪些
- 切换文件:
cpp
:bnext #可以切换到相近的下一个文件(如果所处文件为最后一个文件,则会切换到第一个文件)
比如此时我们在file1文件中,执行完bnext之后我们就可以切换到file2文件中:
再次执行bnext命令我们会发现我们又切换到file1文件
5.2 分屏编辑
- 水平分屏:
cpp
:split 文件名
- 垂直分屏:
cpp
:vsplit 文件名
- 切换窗口:按
Ctrl + w
就可以切换到不同的窗口
比如:
执行一下水平分屏和垂直分屏:
执行完之后我们就可以打开三个文件,且这三个文件呈水平或垂直分屏状态:
6. 配置 Vim
经过我们上面的使用,已经能感受到vim的使用是不太方便的,没有vs等界面化的编辑方式,而且行号、自动补全括号、自动缩进等功能都是没有的,其实这些东西都是可以进行配置的
Vim 的配置文件是 ~/.vimrc
,这个文件默认是没有的,是需要我们自己创建的
创建之后我们就可以vim进入里面然后进入各种相关配置
vim的配置是一个比较繁琐的事情,尤其是Ubuntu系统下的配置,更是困难,需要全部手动配置,centos系统下的vim配置网上是有直接的链接的,直接下载即可,vim配置的内容本篇就不做详解了,如果想要配置一下的可以去再搜索一下相关的博客,还是有不少写的比较好的vim配置博客的,由于版权问题,我这里就不贴出来了
7. 总结
Vim 是一个功能强大的文本编辑器,掌握 Vim 的基本操作和命令,可以大大提高文本编辑的效率。尽管 Vim 的学习曲线相对较陡,但一旦熟悉后,它无疑是开发者和系统管理员的得力助手。
感谢各位大佬观看,创作不易,还请各位大佬点赞支持!!!