探索 Linux vim/vi 编辑器:介绍、模式以及基本操作演示

💐作者:insist--

💐个人主页: insist-- 的个人主页

理想主义的花,最终会盛开在浪漫主义的土壤里,我们的热情永远不会熄灭,在现实平凡中,我们终将上岸,阳光万里

❤️欢迎点赞👍收藏📁评论📒

前言

本文将介绍vim / vi编辑器是什么并详细讲解它的三种工作模式以及基本命令

目录

一、Vim编译器介绍

[1. Vim是什么](#1. Vim是什么)

[2. Vim的三种工作模式](#2. Vim的三种工作模式)

①命令模式

②输入模式

③底线命令模式

二、基本操作演示

[1. 打开文件](#1. 打开文件)

[2. 进入插入模式](#2. 进入插入模式)

[3. 保存并退出文件](#3. 保存并退出文件)


一、Vim编译器介绍

1. Vim是什么

Vim是一款在Linux中常用的文本编辑器 ,它从vi发展而来,具有代码补全、编译及错误跳转 等功能,可以主动以字体颜色标识语法的正确性,方便代码编写。Vim能运行于unix、windows、mac等多个操作平台

vim是vi的加强版本,兼容vi的所有指令,不仅能编辑文本,而且还具有shell程序编辑的功能,可以不同颜色的字体来辨别语法的正确性,极大方便了程序的设计和编辑性。


2. Vim的三种工作模式

Vim的三种工作模式分别是命令模式、输入模式和底线命令模式。

①命令模式

用户刚刚启动vi/vim,就进入了命令模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符

命令模式下常用的命令:

python 复制代码
h:左移光标

j:下移光标

k:上移光标

l:右移光标

w:移动到下一个单词的开头

b:移动到当前单词或前一个单词的开头

e:移动到当前单词或下一个单词的结尾

gg:移动到文件开头

G:移动到文件结尾

dd:删除当前行

yy:复制当前行

p:粘贴到光标之后

u:撤销上一次操作

Ctrl + r:重做上一次撤销的操作

/:查找文本,例如输入"/example"将查找"example"这个单词

n:查找下一个匹配项

N:查找上一个匹配项

:%s/old/new/g:将文件中的所有"old"替换为"new"

②输入模式

在命令模式下,通过输入"i"、"a"或"o"命令可以进入输入模式。在这个模式下,用户可以像在普通文本编辑器中那样输入文本。

命令模式下常用的命令:

python 复制代码
i:进入插入模式,在当前位置插入文本

a:进入插入模式,在光标后插入文本

o:进入插入模式,在光标前插入文本

Esc:退出插入模式,返回到命令模式

③底线命令模式

命令模式下,按下shift➕冒号(:)进入末行模式。在这个模式下,你可以输入保存、退出等命令。

命令模式下常用的命令:

python 复制代码
w:保存文件

q:退出vim

wq:保存并退出vim

q!:强制退出vim,不保存修改

set number:显示行号

set nonumber:不显示行号

set colorscheme:设置颜色主题

set background=dark:设置背景色为暗色系

set background=light:设置背景色为亮色系

%s/old/new/g:将文件中的所有"old"替换为"new"

二、基本操作演示


1. 打开文件

一句话概括:命令行中输入vim 文件名。

详细解释: 使用命令vim 文件名 来打开一个文件。如果文件不存在,Vim将创建一个新文件 ;如果文件已经存在,则Vim会打开该文件并显示其内容。++当我们想打开一个名为"hello.txt"的文件可以使用命令:vim hello.txt,如果出现下图这个样子,证明已经打开文件。++


2. 进入插入模式

一句话概述:在命令模式下,按键盘上的i、a或o即可进入。

详细解释:命令模式下,通过输入"i"、"a"或"o"命令可以进入插入模式 ,如下图,进入插入模式后,在命令行界面的左下角会显示"插入"字样,在此模式我们就可以像Windows中的文本文档一样直接写入内容。


3. 保存并退出文件

一句话概述:进入底线命令模式输入wq(进入方法看流程图或下方解释)

详细解释: 写入内容后,我们需要进行保存并退回命令行界面,如上方流程图,我们要退出并保存文件时,需要在 底线命令模式 输入 wq,进入底线命令模式之前,我们需要先退回命令模式(按ESC键) ,然后再进入底线命令模式(shift➕:组合键),如下图,看到冒号以后就证明已经进入到了底线命令模式。在冒号的后面输入wq即可保存并退出文件。

相关推荐
程序员yt1 小时前
双非一本电子信息专业自学嵌入式,学完 Linux 后咋走?单片机 & FreeRTOS 要补吗?
linux·运维·单片机
安於宿命5 小时前
【Linux】进程间通信——进程池
linux·c++
新兴ICT项目支撑6 小时前
天翼云910B部署DeepSeek蒸馏70B LLaMA模型实践总结
linux·运维·服务器·910b·天翼云·deepseek r1
Spike()8 小时前
HaProxy源码安装(Rocky8)
linux·负载均衡
网硕互联的小客服8 小时前
如何提高网站在百度中的权重?
linux·运维·服务器·windows·安全
守望时空339 小时前
Linux内核升级指南
linux·操作系统
Aphelios38010 小时前
Linux 下 VIM 编辑器学习记录:从基础到进阶(上)
java·linux·编辑器·vim
chde2Wang10 小时前
yum下载报错Could not resolve host: mirrorlist.centos.org; Unknown error
linux·运维·centos
zyx没烦恼11 小时前
Linux 进程控制(进程创建,进程等待)
linux·运维·服务器
linux开发之路11 小时前
C++Linux进阶项目分析-仿写Redis之Qedis
linux·c++·redis·多线程·后端开发