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

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

相关推荐
大筒木老辈子1 小时前
Linux笔记---计算机网络概述
linux·笔记·计算机网络
keep__go2 小时前
postgresql9.2.4 跨版本升级14.6
linux·运维·数据库·postgresql
深思慎考2 小时前
LinuxC++项目开发日志——高并发内存池(1-定长内存池)
linux·c++
川石课堂软件测试3 小时前
Oracle 数据库如何查询列
linux·数据库·sql·功能测试·oracle·grafana·prometheus
光电的一只菜鸡5 小时前
ubuntu之坑(十九)——VMware虚拟机扩容磁盘
linux·数据库·ubuntu
岚天start6 小时前
网络计算工具ipcalc详解
linux·运维·网络·网关·广播地址·掩码·ipcalc
deeper_wind6 小时前
Jenkins主机中安装ansible部署lnmp论坛(小白的”升级打怪“成长之路)
linux·ansible·jenkins
格林威6 小时前
Linux使用-Linux系统管理
linux·运维·服务器·深度学习·ubuntu·计算机视觉
weixin_410413216 小时前
Linux 无源码应用行为分析方法
linux·服务器·tomcat
AI小小怪8 小时前
在linux下使用MySQL常用的命令集合
linux·数据库·mysql·oracle