Linux | vim的入门手册

目录

前言

一、什么是vim

二、vim编辑器的模式

1、插入模式

(1)用vim打开文件

(2)进入插入模式

2、默认模式

(1)光标移动

(2)复制、粘贴与剪切操作

(3)撤销与取消撤销操作

(4)光标快速行移动操作

(5)光标快速列移动操作

(6)编辑相关操作

3、底行模式

(1)进入底行模式

(2)退出与保存

(3)打开行号或取消行号

(4)分屏相关操作

(5)其他操作

4、替换模式


前言

关于vim想必大家多多少少有一些了解,不大了解也没关系,本章节就带着大家一起学习vim的基本使用;

一、什么是vim

vim是Linux下的一款编辑器软件,注意,这里说的是编辑器,类似于记事本,我们可以通过vim在Linux系统下进行代码的编辑,这里有些小伙伴就疑惑了,我们难道不能使用vscode等软件吗?是的,我们可以直接使用vscode等软件,且效率也可能更高,但我们有一些情况可能需要纯Linux系统下编辑代码,那是可能就无图形化界面,因此Vim是我们的最好选择了;

二、vim编辑器的模式

vim编辑器有很多模式,对于新手来说无需弄清每种模式,本文主要介绍如下四种模式,分别为普通模式(默认模式)、插入模式、底行模式、替换模式;这四种模式已经满足大部分需求,且已足够日常使用,对于想精进vim的读者来说,可后续自行完善知识体系本文仅仅为vim入门文章;

1、插入模式

(1)用vim打开文件

我们用vim打开一个文件,默认进入的就是默认模式;我们可以通过下面这条指令来用vim打开一个文件;

bash 复制代码
vim test.c

其中test.c为文件名,可以自己取别的名字,其中若文件不存在,则会在当前目录自动创建一个文件;

(2)进入插入模式

我们按下键盘的 i 即可进入插入模式,进入插入模式后,我们左下角的normal就变成了insert,如下图所示;

我们按下键盘的左上角的 Esc 键即可退出插入模式,进入我们的普通模式,插入模式下,我们就可以进行代码编辑了;对于新手来说,插入模式理解到这一步就已经可以了进行基本的编辑代码了;

2、默认模式

(1)光标移动

在默认模式中,我们可以通过键盘中的上下左右对光标进行移动,也可以通过H、J、K、L对光标进行移动,后者的使用更加推荐,我们可以通过下图来记忆这四个键;

(2)复制、粘贴与剪切操作

复制:

yy:复制当前行

nyy:从光标选中当前行开始复制 n 行

粘贴:

p:从光标选中的下一行开始粘贴一次

np:从光标选中的下一行开始粘贴 n 次

剪切(删除):

dd:剪切(删除)当前行

ndd:从当前行开始剪切(删除)n 行

(3)撤销与取消撤销操作

撤销:

u:撤销上次操作

取消撤销:

ctrl + r:撤销刚才的撤销操作

(4)光标快速行移动操作

shift + g:将光标移动到最后一行

gg:将光标移动到第一行

n shift + g:快速移动到第 n 行(n为数字)

(5)光标快速列移动操作

shift + 4:快速移动到当前行的最后一列

shift + 6:快速移动到当前行的第一列

w:以单词为单位,快速在当前行向前移动

b:以单词为单位,快速在当前行向后移动

(6)编辑相关操作

shift + ~:大小写切换

r + 要替换的字符:替换当前字符

n r + 要替换的字符: 替换从当前字符开始的 n 个字符

x:删除光标当前指向的字符

n x:删除从光标当前指向的字符位置开始的 n 个字符

3、底行模式

(1)进入底行模式

shift + :(冒号):shift 加 冒号(分号)进入底行模式,下面所有介绍的操作都是基于底行模式下的操作,默认已经进入底行模式了;以下为进入底行模式的界面;

(2)退出与保存

q:仅退出

q!:强制退出

w:仅保存

w!:强制保存

wq!:强制保存并退出

(3)打开行号或取消行号

set nu:打开行号

set nonu:取消行号

(4)分屏相关操作

vs 文件名:分屏出另一个文件出来,若文件不存在,且创建该文件

ctrl + w + w:进行光标切换(这里的切换指的是这两个文件中切换)

(5)其他操作

!cmd:不退出vim执行对应命令(常与编译、运行、man指令等配合)

如上图所示,我们可以不退出vim编辑器的情况下,查看当前目录下有哪些文件;

4、替换模式

shift + r:进入替换模式,此时可以进行输入替换;

**注意:**替换模式我们就不必做过多了解,我们将上述命令学会便已经可以在vim编辑器上完成大部分的编辑任务了;

相关推荐
TeYiToKu1 小时前
笔记整理—linux驱动开发部分(9)framebuffer驱动框架
linux·c语言·arm开发·驱动开发·笔记·嵌入式硬件·arm
dsywws1 小时前
Linux学习笔记之时间日期和查找和解压缩指令
linux·笔记·学习
yeyuningzi1 小时前
Debian 12环境里部署nginx步骤记录
linux·运维·服务器
上辈子杀猪这辈子学IT1 小时前
【Zookeeper集群搭建】安装zookeeper、zookeeper集群配置、zookeeper启动与关闭、zookeeper的shell命令操作
linux·hadoop·zookeeper·centos·debian
minihuabei1 小时前
linux centos 安装redis
linux·redis·centos
lldhsds2 小时前
书生大模型实战营第四期-入门岛-1. Linux前置基础
linux
wowocpp3 小时前
ubuntu 22.04 硬件配置 查看 显卡
linux·运维·ubuntu
山河君3 小时前
ubuntu使用DeepSpeech进行语音识别(包含交叉编译)
linux·ubuntu·语音识别
鹏大师运维3 小时前
【功能介绍】信创终端系统上各WPS版本的授权差异
linux·wps·授权·麒麟·国产操作系统·1024程序员节·统信uos
筱源源3 小时前
Elasticsearch-linux环境部署
linux·elasticsearch