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

相关推荐
hjjdebug1 小时前
linux 下 signal() 函数的用法,信号类型在哪里定义的?
linux·signal
其乐无涯1 小时前
服务器技术(一)--Linux基础入门
linux·运维·服务器
Diamond技术流1 小时前
从0开始学习Linux——网络配置
linux·运维·网络·学习·安全·centos
斑布斑布1 小时前
【linux学习2】linux基本命令行操作总结
linux·运维·服务器·学习
Spring_java_gg1 小时前
如何抵御 Linux 服务器黑客威胁和攻击
linux·服务器·网络·安全·web安全
✿ ༺ ོIT技术༻1 小时前
Linux:认识文件系统
linux·运维·服务器
会掉头发2 小时前
Linux进程通信之共享内存
linux·运维·共享内存·进程通信
我言秋日胜春朝★2 小时前
【Linux】冯诺依曼体系、再谈操作系统
linux·运维·服务器
饮啦冰美式2 小时前
22.04Ubuntu---ROS2使用rclcpp编写节点
linux·运维·ubuntu