Linux 系统vi\vim编辑器

什么是 vi/vim?

  • vivisual interface 的简称,是 Linux 中最经典的命令行文本编辑器。
  • vim 是 vi 的增强版(vi improved),兼容 vi 所有指令,并增加了语法高亮等功能,适合程序编写。

三种工作模式

vi/vim 有三种核心模式,理解它们才能高效编辑:

模式 说明 主要用途
命令模式 所有按键被解释为命令,不可直接编辑文本。刚打开文件时默认进入此模式。 执行操作(复制、删除、移动光标等)
输入模式 可自由编辑文本内容。 输入/修改文本
底线命令模式 在最后一行输入命令,通常用于保存、退出、设置等。 文件操作、设置

image-20230321150517350

模式切换关系

  • 命令模式 → 输入模式:输入 iao
  • 输入模式 → 命令模式:按 Esc
  • 命令模式 → 底线命令模式:按 :(冒号)
  • 底线命令模式 → 命令模式:按 Esc 或执行完命令自动返回

启动与退出

vim 文件路径      # 编辑文件(若文件不存在则创建新文件)

底线命令模式常用退出命令

  • :wq – 保存并退出
  • :q – 直接退出(未修改时可用)
  • :q! – 强制退出(不保存修改)
  • :w – 仅保存
  • :x – 保存并退出(同 :wq

命令模式常用快捷键

进入输入模式

按键 作用
i 在当前光标插入
a 在当前光标插入
I 在当前行开头插入
A 在当前行结尾插入
o 在当前行下方新建一行插入
O 在当前行上方新建一行插入

光标移动

按键 作用
k 上移
j 下移
h 左移
l 右移
0 移动到行首
$ 移动到行尾
gg 跳转到文件第一行
G 跳转到文件最后一行
nG 跳转到第 n 行(如 5G

翻页

按键 作用
Ctrl + f 向下翻页
Ctrl + b 向上翻页

删除

按键 作用
dd 删除当前行
ndd 删除从当前行开始的 n 行
dG 删除从当前行到文件末尾
dgg 删除从当前行到文件开头
d$ 删除从光标到行尾
d0 删除从光标到行首

复制与粘贴

按键 作用
yy 复制当前行
nyy 复制从当前行开始的 n 行
p 在光标后粘贴
P 在光标前粘贴

撤销与恢复

按键 作用
u 撤销上一步操作
Ctrl + r 反向撤销(重做)

搜索

按键 作用
/ 进入搜索模式,输入关键字
n 向下查找下一个匹配
N 向上查找上一个匹配

输入模式

在输入模式下,你可以像在普通文本编辑器中一样自由输入、删除、修改文本。
Esc 返回命令模式。


底线命令模式常用设置

命令 作用
:set nu 显示行号
:set nonu 隐藏行号
:set paste 进入粘贴模式(避免自动缩进混乱)
:set nopaste 退出粘贴模式
:syntax on 开启语法高亮
:syntax off 关闭语法高亮

小技巧

  • 使用 vimtutor 命令可以进入官方交互式教程,非常适合初学者。

  • 在命令模式下按 v 进入可视模式,可以用方向键选中文本,然后按 d 删除、y 复制等。

  • 习惯使用 :w 频繁保存,避免意外丢失。

posted @ 2023-03-30 10:08  克峰同学  阅读(67)  评论(0)    收藏  举报