【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」⼀起使用,这样在退出的时候还可以保存文件。

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

相关推荐
lsnm1 小时前
【LINUX网络】HTTP协议基本结构、搭建自己的HTTP简单服务器
linux·运维·服务器·c语言·网络·c++·http
杜大帅锅2 小时前
Linux搭建ftp服务器
linux·运维·服务器
运维自动化&云计算2 小时前
Centos虚拟机硬盘报错,根分区满,已用显示为负40G
linux·运维·centos
Web极客码3 小时前
在Ubuntu 22.04上安装远程桌面服务
linux·运维·ubuntu
sqmeeting3 小时前
QT6 如何在Linux Wayland 桌面系统抓屏和分享屏幕
linux·qt
板鸭〈小号〉4 小时前
Linux网络基础(一)
linux·网络·智能路由器
范纹杉想快点毕业5 小时前
嵌入式 C 语言编程规范个人学习笔记,参考华为《C 语言编程规范》
linux·服务器·数据库·笔记·单片机·嵌入式硬件·fpga开发
星火飞码iFlyCode5 小时前
真实案例 | 如何用iFlyCode开发Webpack插件?
java·python·编辑器
百里晴鸢5 小时前
小白也能懂的iptables核心逻辑!四张表+五条链如何守护你的网络安全?
linux·安全