探索 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即可保存并退出文件。

相关推荐
odoo-卜永21 分钟前
ubuntu22.04连接爱普生打印机型号L385
linux·经验分享·ubuntu
小麦嵌入式1 小时前
Linux驱动开发实战(十一):GPIO子系统深度解析与RGB LED驱动实践
linux·c语言·驱动开发·stm32·嵌入式硬件·物联网·ubuntu
刘若水1 小时前
Linux: 进程信号初识
linux·运维·服务器
共享家95273 小时前
深入剖析Linux常用命令,助力高效操作
linux·运维·服务器
Zfox_4 小时前
【C++项目】从零实现RPC框架「四」:业务层实现与项目使用
linux·开发语言·c++·rpc·项目
吃旺旺雪饼的小男孩4 小时前
Ubuntu 22.04 安装和运行 EDK2 超详细教程
linux·运维·ubuntu
IT小馋猫4 小时前
Linux 企业项目服务器组建(附脚本)
linux·服务器·网络
阿政一号4 小时前
Linux进程间通信:【目的】【管道】【匿名管道】【命名管道】【System V 共享内存】
linux·运维·服务器·进程间通信
又过一个秋4 小时前
【sylar-webserver】7 定时器模块
linux·c++
啊哦1115 小时前
配置防火墙和SELinux(1)
linux·服务器·网络