【Linux】编辑器vim的使用

目录

[1. vim的基本概念](#1. vim的基本概念)

[2. vim的基本使用](#2. vim的基本使用)

[3. vim命令模式操作](#3. vim命令模式操作)

[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 跳转)

[4. vim底行模式操作](#4. vim底行模式操作)

[4.1 列出行号](#4.1 列出行号)

[4.2 跳到文件中的某行](#4.2 跳到文件中的某行)

[4.3 查找字符](#4.3 查找字符)

[4.4 保存文件](#4.4 保存文件)

[4.5 离开vim](#4.5 离开vim)


1. vim的基本概念

Vim(Vi IMproved)是一个 高度可配置的文本编辑器,由 Bram Moolenaar 于 1991 年发布,是 Unix 系统经典编辑器 vi 的增强版。它以其 高效、轻量、可扩展 的特性,成为程序员、系统管理员和高级用户的必备工具。

在学习如何使用之前,我们先了解一下vim的三种主要模式(不止这三种模式):命令模式,插入模式,底行模式。

命令模式 (Command Mode) ------ 用于导航、复制、粘贴、删除等操作(默认模式)。

插入模式(Insert Mode) ------ 用于输入和编辑文本(类似普通文本编辑器),在命令行。

底行模式 (Last Line Mode) ------ 用于执行文件操作(保存、退出)、搜索、替换等命令。

2. vim的基本使用

输入命令 vim + 文件名 之后进入vim全屏编辑画面

此时进入vim之后是命令模式,按"a"键/"o"键/"i"键进入插入模式,或者按" shift+;"键即输入" :"进入底行模式。无论是在插入模式还是底行模式按"Esc"键就可以重新进入命令模式。

三种模式之间的切换方法:

切换到插入模式:

按"i"键进入插入模式后,从光标位置开始输入;

按"a"键进入插入模式后,从光标位置的下一位置开始输入;

按"o"键进入插入模式后,插入新的一行,从行首开始输入。

在进入底行模式后,退出vim的几种情况:

:w 保存当前文件

:wq 保存并退出

:q! 不保存强制退出

3. vim命令模式操作

3.1 移动光标

我们可以直接用键盘上的光标来上下左右移动,但正规的vim是用写英文字母「h」、「j」、 「k」、「l」,分别控制光标左、下、上、右移⼀格

• 按「G」:移动到文章的最后

• 按「 $ 」:移动到光标所在行的"行尾"

• 按「^」:移动到光标所在行的"行首"

• 按「w」:光标跳到下个字的开头

• 按「e」:光标跳到下个字的字尾

• 按「b」:光标回到上个字的开头

• 按「# l」:光标移到该行的第#个位置,如:5l,56l

• 按[gg]:进入到文本开始

• 按[shift+g]:进入文本末端

• 按「ctrl」+「b」:屏幕往"后"移动一页

• 按「ctrl」+「f」:屏幕往"前"移动一页

• 按「ctrl」+「u」:屏幕往"后"移动半页

• 按「ctrl」+「d」:屏幕往"前"移动半页

3.2 删除

• 「x」:每按⼀次,删除光标所在位置的一个字符

• 「#x」:例如,「6x」表示删除光标所在位置的"后面(包含自己在内)"6个字符

• 「X」:大写的X,每按⼀次,删除光标所在位置的"前面"⼀个字符

• 「#X」:例如,「20X」表示删除光标所在位置的"前面"20个字符

• 「dd」:删除光标所在行

• 「#dd」:从光标所在行开始删除#行

3.3 复制

• 「yw」:将光标所在之处到字尾的字符复制到缓冲区中。

• 「#yw」:复制#个字到缓冲区

• 「yy」:复制光标所在行到缓冲区。

• 「#yy」:例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字。

• 「p」:将缓冲区内的字符贴到光标所在位置。

注意:所有与"y"有关的复制命令可以与"p"配合完成复制与粘贴功能。

3.4 替换

•「r」:替换光标所在处的字符。

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

3.5 撤销

• 「u」:如果您误执行⼀个命令,可以马上按下「u」,回到上⼀个操作。按多次"u"可以执行多次回复。

• 「ctrl+r」:撤销的恢复

3.6 更改

• 「cw」:更改光标所在处的字到字尾处

• 「c#w」:例如,「c3w」表示更改3个字

3.7 跳转

• 「ctrl」+「g」列出光标所在行的行号。

• 「#G」:例如,「15G」,表示移动光标至文章的第15行首。

4. vim底行模式操作

在使用末行模式之前,请记住先按「ESC」键确定您已经处于正常模式,再按「:」冒号即可进⼊末行模式。

4.1 列出行号

• 「set nu」:输入「set nu」后,会在文件中的每一行前面列出行号。

4.2 跳到文件中的某行

• 「#」:「#」号表示⼀个数字,在冒号后输入⼀个数字,再按回车键就会跳到该行了,如输入数字 15,再回车,就会跳到文章的第15行。

4.3 查找字符

• 「/关键字」:先按「/」键,再输入想寻找的字符,如果第⼀次找的关键字不是想要的,可以 ⼀直按「n」会往后寻找到您要的关键字为止。

• 「?关键字」:先按「?」键,再输入想寻找的字符,如果第⼀次找的关键字不是想要的,可 以⼀直按「n」会往前寻找到您要的关键字为止。

那么 / 和 ?查找有和区别?我们可以实际操作试验⼀下

4.4 保存文件

• 「w」:在冒号输入字母「w」就可以将文件保存起来

4.5 离开vim

• 「q」:按「q」就是退出,如果无法离开vim,可以在「q」后跟⼀个「!」强制离开vim。

• 「wq」:⼀般建议离开时,搭配「w」⼀起使用,这样在退出的时候还可以保存文件。

大家可以多多实际操作一些,去熟悉这些操作。

相关推荐
0xDevNull3 小时前
Linux切换JDK版本详细教程
linux
进击的丸子4 小时前
虹软人脸服务器版SDK(Linux/ARM Pro)多线程调用及性能优化
linux·数据库·后端
Johny_Zhao2 天前
OpenClaw安装部署教程
linux·人工智能·ai·云计算·系统运维·openclaw
chlk1233 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑3 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件3 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
深紫色的三北六号4 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash4 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI4 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行5 天前
Linux和window共享文件夹
linux