IMX6ULL开发板学习-05(Linux之Vi/Vim编辑器的使用)

1. Vim 的三种核心模式

Vim 不同于普通编辑器,它基于模式

  • 正常模式(Normal Mode) :启动后的默认模式。在此模式下,按键执行命令(如移动光标、删除、复制),不能直接输入文字

  • 插入模式(Insert Mode) :用于输入文本。按 i 进入,按 Esc 返回正常模式。

  • 可视模式(Visual Mode) :用于选择文本块。按 v(字符选择)、V(行选择)或 Ctrl+v(块选择)进入,结合移动键选取,然后可进行复制、删除等操作。

  • 命令行模式(Command-Line Mode) :在正常模式下按 : 进入,底部出现冒号,可输入命令(如保存、退出、查找替换)。

记住:绝大多数时间你应该停留在正常模式,仅在输入文字时切换到插入模式。

2. 启动与退出

2.1 打开文件

bash 复制代码
vim filename        # 打开或新建文件
vim +10 filename    # 打开文件并定位到第10行
vim +/pattern file  # 打开文件并定位到第一个匹配 pattern 的行
vim file1 file2     # 同时打开多个文件(:n 切换)

2.2 保存与退出(在正常模式输入 : 命令)

  • :w 保存文件

  • :w filename 另存为 filename

  • :q 退出(文件未修改时)

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

  • :wq:x 保存并退出

  • ZZ 保存并退出(相当于 :wq,在正常模式直接按大写 ZZ)

3. 移动光标(正常模式下)

3.1 基本移动

  • h 左移一格

  • j 下移一行

  • k 上移一行

  • l 右移一格

3.2 单词移动

  • w 跳到下一个单词开头

  • b 跳到当前单词/上一个单词开头

  • e 跳到当前单词/下一个单词结尾

3.3 行内移动

  • 0 跳至行首(绝对行首)

  • ^ 跳至行首第一个非空白字符

  • $ 跳至行尾

3.4 页面移动

  • Ctrl+f 向下翻页(forward)

  • Ctrl+b 向上翻页(backward)

  • Ctrl+d 向下半页

  • Ctrl+u 向上半页

  • H 跳至屏幕顶端(Home)

  • M 跳至屏幕中间

  • L 跳至屏幕底端(Last)

3.5 文件内跳转

  • gg 跳至文件第一行

  • G 跳至文件最后一行

  • :n 跳至第 n 行(如 :100 跳到 100 行)

  • Ctrl+o 跳回上一个位置(后退)

  • Ctrl+i 跳向前一个位置(前进)


4. 插入文本(进入插入模式)

  • i 在光标前插入

  • I 在当前行首插入

  • a 在光标后插入(append)

  • A 在当前行尾插入

  • o 在当前行下方新开一行插入

  • O 在当前行上方新开一行插入

  • s 删除光标处字符并进入插入

  • S 删除整行并进入插入

Esc 返回正常模式。


5. 文本编辑操作(正常模式下)

5.1 删除

  • x 删除光标处字符(相当于 Del)

  • X 删除光标前字符(相当于 Backspace)

  • dd 删除当前行

  • d2d2dd 删除从当前行开始的 2 行

  • dw 删除从光标到单词结尾

  • d$D 删除从光标到行尾

  • d^ 删除从光标到行首(非空字符)

  • dG 删除从当前行到文件末尾

  • dgg 删除从当前行到文件开头

5.2 复制与粘贴

  • yyY 复制当前行

  • y2y2yy 复制 2 行

  • yw 复制一个单词

  • p 在光标后粘贴(小写 p)

  • P 在光标前粘贴(大写 P)

5.3 撤销与重做

  • u 撤销上一步操作

  • Ctrl+r 重做(恢复撤销)

5.4 替换

  • r 替换光标处的一个字符(按 r 后输入新字符)

  • R 进入替换模式(连续替换,Esc 退出)

  • ~ 切换光标处字母的大小写


6. 查找与替换

6.1 查找

  • /pattern 向下查找 pattern

  • ?pattern 向上查找 pattern

  • n 继续向同一方向查找下一个

  • N 向反方向查找上一个

  • :set hlsearch 高亮所有匹配(:set nohlsearch 取消)

  • :nohlsearch 临时取消当前高亮

6.2 替换

  • :s/old/new 将当前行第一个 old 替换为 new

  • :s/old/new/g 将当前行所有 old 替换为 new

  • :5,10s/old/new/g 在第 5 到 10 行替换

  • :%s/old/new/g 在整个文件中替换

  • :%s/old/new/gc 替换时逐个询问确认(c 表示 confirm)


7. 可视模式

  • v 进入字符可视模式,移动光标选择字符。

  • V 进入行可视模式,选择整行。

  • Ctrl+v 进入块可视模式,可选择矩形块(常用于批量注释)。

选择后可以:

  • d 删除选中内容

  • y 复制选中内容

  • p 粘贴(会覆盖选中内容)

  • ~ 切换大小写

  • U 转为大写

  • u 转为小写

  • J 合并选中的行

示例:批量注释多行

  1. Ctrl+v 进入块模式

  2. 移动光标选中多行的第一列

  3. I 进入插入(在块开始处)

  4. 输入 #

  5. Esc 两次,所有选中行首都会加上 #

相关推荐
摩西蒙2 小时前
软考计算机组成原理学习笔记-1
笔记·学习·软件工程
像颗糖2 小时前
Ollama Linux 服务器本地部署
linux·人工智能·全栈
Cat_Rocky2 小时前
redis数据库基础学习
数据库·redis·学习
星幻元宇VR2 小时前
VR星际行走平台|沉浸式科普教育与未来体验的新入口
科技·学习·安全·生活·vr
小夏子_riotous2 小时前
Docker学习路径——1、简介
linux·运维·服务器·docker·容器·云计算
雾喔2 小时前
【学习笔记2】快速上手调用 AI API & Prompt Engineering
人工智能·笔记·学习
bukeyiwanshui3 小时前
20260413 if while 语句
linux
呆呆在发呆.3 小时前
JavaEE初阶
java·jvm·网络协议·学习·udp·java-ee·tcp
航Hang*3 小时前
Windows Server 配置与管理——第9章:配置DHCP服务器
运维·服务器·windows·学习