Linux操作系统从入门到实战(七)详细讲解编辑器Vim
- 前言
- 一、编辑器Vim
-
- [1. Linux编辑器------Vim是什么?](#1. Linux编辑器——Vim是什么?)
-
- [1.1 什么是Vim?它能编辑哪些内容?](#1.1 什么是Vim?它能编辑哪些内容?)
- [1.2 Vi与Vim的核心区别?](#1.2 Vi与Vim的核心区别?)
- [2. Vim的模式基础](#2. Vim的模式基础)
- [3. vim的基本操作](#3. vim的基本操作)
- [4. vim命令模式命令全集](#4. vim命令模式命令全集)
-
- [4.1 插入文字](#4.1 插入文字)
- [4.2 移动光标](#4.2 移动光标)
- [4.3 删除文字](#4.3 删除文字)
- [4.4 复制和粘贴](#4.4 复制和粘贴)
- [4.5 替换文字](#4.5 替换文字)
- [4.6 撤销和恢复](#4.6 撤销和恢复)
- [4.7 修改文字](#4.7 修改文字)
- [4.8 跳转到指定行](#4.8 跳转到指定行)
- [5. vim末行模式命令全集](#5. vim末行模式命令全集)
-
- [5.1 怎么进入末行模式?](#5.1 怎么进入末行模式?)
- [5.2 给每行加上行号](#5.2 给每行加上行号)
- [5.2 快速跳到指定行](#5.2 快速跳到指定行)
- [5.2 查找你要的字/词](#5.2 查找你要的字/词)
- [5.2 保存文件](#5.2 保存文件)
- [5.2 退出Vim](#5.2 退出Vim)
- [7. 简单vim配置(了解即可)](#7. 简单vim配置(了解即可))
前言
- 承接上文对 Linux 基础指令与权限的讲解。
- 这篇博客我们将详细聊聊 Linux 系统中常用的编辑器 ------Vim。
我的个人主页,欢迎来阅读我的其他文章
https://blog.csdn.net/2402_83322742?spm=1011.2415.3001.5343我的Linux知识文章专栏
欢迎来阅读指出不足
https://blog.csdn.net/2402_83322742/category_12879535.html?spm=1001.2014.3001.5482
一、编辑器Vim
1. Linux编辑器------Vim是什么?
1.1 什么是Vim?它能编辑哪些内容?

Vim是一款功能强大的多模式编辑器,广泛适用于各类文本编辑场景------无论是后端开发(如Python、Java代码)、前端开发(如HTML、JavaScript),还是日常文本处理,都能高效胜任。
1.2 Vi与Vim的核心区别?

简单来说,两者同属多模式编辑器 ,但Vim是Vi的增强版:
- Vim不仅完全兼容Vi的所有指令,还新增了诸多实用特性------比如语法高亮、可视化操作等;
- 且不再局限于终端环境,还支持X Window、macOS、Windows等多平台运行。
2. Vim的模式基础

Vim的核心特性之一是"多模式",我们先重点掌握3种基础模式(Vim实际模式更多,初学者先吃透这3种即可),分别是:
-
正常模式(Normal mode,又称普通模式、命令模式)
- 这是打开Vim后的默认模式,
- 主要用于控制光标移动,执行字符、单词或行的删除,移动/复制指定内容,以及切换到插入模式或末行模式。
-
插入模式(Insert mode)
- 只有在插入模式下,才能进行文字输入;
- 按「ESC」键可退回正常模式。
- 这也是日常编辑中使用最频繁的模式。
-
末行模式(Last Line mode)
- 主要用于文件级操作:
- 比如保存、退出文件,也支持内容替换、字符串查找、显示行号等功能。
- 在正常模式下,按「Shift + :」即可进入。
补充说明:Vim其实共有12种模式,细分为6种基础模式(BASIC modes)和6种附加模式(ADDITIONAL modes)。若想了解全部模式,可在末行模式输入
:help vim-modes
查看详情。
3. vim的基本操作
-
怎么进入vim编辑文件?
在系统命令行(比如终端里)输入
vim 文件名
就行,比如想编辑test.c,就输$ vim test.c
,之后会进入vim的全屏编辑界面。
-
vim的模式和切换(重点)
-
刚进入vim时,默认是「正常模式」(不能直接输入文字)。
-
想输入文字,得先切到「插入模式」,切法有3种:按
a
、i
或o
键。 -
在「插入模式」下只能打字,想移动光标、删字,得先切回「正常模式」:按
ESC
键就行。
-
想保存、退出这些操作,得从「正常模式」切到「末行模式」:按
shift + ;
(其实就是输入:
冒号)。
- 保存和退出操作(在末行模式下输入)
:w
→ 只保存当前文件,不退出。:wq
→ 保存文件,同时退出vim。:q!
→ 不保存文件,强制退出vim(比如输错了不想留)。

4. vim命令模式命令全集
4.1 插入文字
想输入文字 ,得先进入插入模式,有3种方式:
- 按
i
:光标在哪,就从哪开始输; - 按
a
:从光标"下一个位置"开始输(比如光标在"你"字上,按a就从"你"后面开始); - 按
o
:自动新起一行,从行首开始输。
退出插入模式 :按 ESC
键,回到"命令模式"(所有移动、删除等操作都在命令模式下做)。
4.2 移动光标
不用鼠标,用键盘就能挪光标:
-
小范围挪:
h
(左)、j
(下)、k
(上)、l
(右),每次挪一格; -
快速到行首/尾:
^
(行首)、$
(行尾); -
跳单词:
w
(跳到下一个词的开头)、e
(跳到下一个词的结尾)、b
(回到上一个词的开头); -
整篇文档跳:
gg
(到文档最开头 )、G
(到文档最后); -
跳指定位置:
#l
(比如5l
就是挪到这一行的第5个位置); -
翻页:
ctrl+b
(往前翻一页)、ctrl+f
(往前后一页)、ctrl+u
(往后翻半页)、ctrl+d
(往前翻半页)。
4.3 删除文字
- 删单个字符:
x
(删光标所在的字符); #x
(比如6x
就是删光标后面包括自己在内的6个字符);- 删前面的字符:
X
(大写X,删光标前面的一个字符);#X
(比如20X
就是删光标前面20个字符); - 删行:
dd
(删光标所在的这一行);#dd
(比如3dd
就是从当前行开始,连删3行)。
4.4 复制和粘贴
- 复制:
yw
:复制从光标到这个词结尾的内容;#yw
(比如2yw
就是复制2个词);yy
:复制光标所在的这一行;#yy
(比如5yy
就是从当前行开始,复制5行);
- 粘贴:复制完后,按
p
,就会把复制的内容贴在光标后面。
4.5 替换文字
r
:只替换光标所在的那一个字符(按一下换一个);R
:持续替换,从光标位置开始,输一个字就替换一个,直到按ESC
停下。
4.6 撤销和恢复
- 按
u
:撤销上一步操作(比如删错了,按u就能恢复); - 按
ctrl+r
:恢复刚才撤销的操作(比如后悔撤销了,用这个)。
4.7 修改文字
cw
:从光标位置开始,修改到这个词的结尾(比如"苹果"光标在"果"上,按cw后输入"子",就变成"瓶子");c#w
:修改#个词(比如c2w
就是修改接下来2个词)。
4.8 跳转到指定行
- 先按
ctrl+g
:看看当前光标在第几行; - 按
#G
:直接跳到第#行(比如10G
就是跳到第10行)。
5. vim末行模式命令全集
5.1 怎么进入末行模式?
不管你在Vim里干了什么,先按一下键盘上的「ESC」键,确保自己处于"正常模式";然后按一下「:」(冒号),就能进入末行模式了,接下来就能输入命令。
5.2 给每行加上行号
- vim 里开启行号的命令是 set number,缩写 set nu
- 输入
set nu
,回车后,文件里每一行前面都会显示行号,看着更清楚。

5.2 快速跳到指定行

想直接去第10行?在冒号后面输入数字(比如10),回车,光标就会立马跳到第10行。
5.2 查找你要的字/词
- 按
/
(斜杠),再输入你要找的内容(比如"苹果"),回车,就会从当前位置往下 找这个词;如果没找到想要的,按n
键,会继续往下找下一个。 - 按
?
(问号),再输入要找的内容,回车,会从当前位置往上 找这个词;没找到的话,按n
键,继续往上找下一个。 - (简单说:
/
是"往下搜",?
是"往上搜",n
是"继续搜")
5.2 保存文件
在冒号后面输入 w
(就记"write保存"),回车,文件就保存好了。
5.2 退出Vim
- 输入
q
(就记"quit退出"),回车,就能退出; - 如果退不出去,输入
q!
(加个感叹号),强制退出。 - 建议退出时用
wq
:输入wq
,回车,既能保存文件,又能直接退出,一步到位,很方便。
7. 简单vim配置(了解即可)
配置文件在哪?怎么改?
- 每个用户的vim配置文件在自己的家目录下,路径是
~/.vimrc
(~
代表当前用户的家目录,比如root用户的家目录是/root
,普通用户是/home/用户名
)。 - 如果这个文件不存在,直接创建即可(vim会自动识别)。
- 编辑方法:打开终端,输入
vim ~/.vimrc
,然后把下面的配置内容输进去,保存退出(按Esc
后输入:wq
回车)。
简单实用的vim配置
下面是一套配置,每行都有解释,直接复制到 ~/.vimrc
里即可:
vim
" 显示行号(最实用的功能!编辑时能看到第几行)
set number
" 语法高亮(让代码/配置文件的关键字、注释显示不同颜色,更易读)
syntax on
" 自动缩进(写代码时,换行后自动对齐上一行的缩进,不用手动按空格)
set autoindent
" 智能缩进(比autoindent更聪明,比如写if后换行,会自动多缩进一级)
set smartindent
" 光标所在行高亮(当前光标在哪一行,整行会有背景色,一眼就能看到)
set cursorline
" 搜索时高亮匹配结果(比如搜"test",所有"test"都会标红)
set hlsearch
" 输入搜索内容时实时显示匹配(输一半就开始找,不用等输完)
set incsearch
" 解决中文乱码(确保编辑中文文件时不出现奇怪的符号)
set encoding=utf-8
set fileencoding=utf-8
" Tab键相关设置(写代码必用)
set tabstop=4 " 一个Tab键显示为4个空格宽
set shiftwidth=4 " 自动缩进时,每次缩进4个空格
set expandtab " 输入Tab键时,自动转换成4个空格(避免不同编辑器显示不一致)
" 关闭自动备份(vim默认会生成带~的备份文件,新手可能觉得混乱,关掉)
set nobackup
set nowritebackup
配置后怎么生效?
保存 ~/.vimrc
后,重新打开vim 就会生效(比如输入 vim test.txt
打开一个文件,就能看到行号、颜色高亮了)。
如果想立即生效(不用重启vim),可以在vim里按 Esc
后输入 :source ~/.vimrc
回车。
以上就是这篇博客的全部内容,下一篇我们将继续探索Linux的更多精彩内容。
我的个人主页
欢迎来阅读我的其他文章
https://blog.csdn.net/2402_83322742?spm=1011.2415.3001.5343我的Linux知识文章专栏
欢迎来阅读指出不足
https://blog.csdn.net/2402_83322742/category_12879535.html?spm=1001.2014.3001.5482
|--------------------|
| 非常感谢您的阅读,喜欢的话记得三连哦 |
