文章目录
- Vim 编辑器学习笔记
- 1. Vi/Vim 的发展历史简介
- 2. Vim 的三种操作模式
- 3. 光标移动命令
- 4. 常用编辑操作命令
- 底行模式常用命令
- 文件操作
- 显示行号
- 查找与替换
- 命令模式常用命令
- 删除
- 复制与粘贴
- 撤销与重做
- 模式切换
- 搜索命令
- 5. 分屏操作
- 6. 进阶学习与插件管理
Vim 编辑器学习笔记
1. Vi/Vim 的发展历史简介
vi
编辑器由比尔·乔伊(Bill Joy)在 1976 年为 UNIX 系统开发,最早应用于 BSD UNIX 系统。vi
以其轻量、快速和功能丰富的特点,迅速成为 UNIX 和类 UNIX 系统(如 Linux)用户的常用编辑工具。- 1988 年,布莱姆·穆伦纳尔(Bram Moolenaar)在
vi
的基础上创建了vim
,即 “Vi IMproved”。 vim
增加了多级撤销、语法高亮、插件系统、图形界面等功能,成为现代化的文本编辑器。- 如今,
vim
被广泛用于代码编写、服务器配置和日志管理,是程序员和系统管理员的首选工具之一。
2. Vim 的三种操作模式
- 命令模式:这是
vim
的默认模式,用于执行删除、复制、粘贴等快捷操作。按Esc
键可以随时返回命令模式。 - 插入模式:用于直接编辑文本。按
i
、a
、o
等键从命令模式进入插入模式,在插入模式下可以输入内容。 - 底行模式:用于输入文件操作命令(如保存、退出、查找等)。按
:
即可进入底行模式,然后在底部输入命令(例如:wq
保存并退出)。
进入插入模式的快捷键:
i
:在光标所在位置进入插入模式a
:在光标后面进入插入模式o
:在光标的下一行进入插入模式O
:在光标的上一行进入插入模式I
:在光标所在行的行首进入插入模式A
:在光标所在行的行尾进入插入模式
3. 光标移动命令
h
:光标左移j
:光标下移k
:光标上移l
:光标右移0
:移动到行首$
:移动到行尾w
:移动到下一个单词的开头b
:移动到上一个单词的开头e
:移动到下一个单词的结尾gg
:快速移动到文件开头G
:快速移动到文件末尾
4. 常用编辑操作命令
底行模式常用命令
文件操作
:w filename
:将文件以指定文件名filename
保存。:w /tmp/aaa.txt
:将当前文件另存为/tmp/aaa.txt
。:wq
或:x
:保存并退出文件。:q!
:强制退出,不保存修改。
显示行号
:set nu
:显示行号。:set nonu
:取消行号显示。
查找与替换
:10
:跳转到第 10 行。:s/old/new/
:在当前行中替换第一个匹配的old
为new
。:3s/sbin/nice/
:在第 3 行替换sbin
为nice
。:1,5 s/nologin/soso/
:在第 1 到 5 行替换nologin
为soso
。:%s/bin/soso/
:在文件中每行替换第一个bin
为soso
。:%s/sbin/nice/g
:在文件中每行替换所有sbin
为nice
。说明:
%
表示整个文件,g
表示行内所有匹配项。
命令模式常用命令
删除
dd
:删除当前行。ndd
或dnd
:从当前行开始删除n
行。dgg
:从光标位置删除到文件开头。dG
:从光标位置删除到文件末尾。x
:删除当前光标处的一个字符。
复制与粘贴
v
:进入可视模式,选择文本块。y
:复制选定的文本块到缓冲区。yy
:复制当前行。nyy
或yny
:从当前行开始复制n
行。ygg
:从当前光标位置复制到文件开头。yG
:从当前光标位置复制到文件末尾。p
:在光标位置粘贴缓冲区内容。
撤销与重做
u
:撤销上一个操作。Ctrl+r
:重做上一个被撤销的操作。
模式切换
-
Ctrl+v
:可视块模式- 用于选择矩形区域。此模式适用于在多行中同时插入或删除列内容,按住
Ctrl+v
并移动光标扩展选择区域。
- 用于选择矩形区域。此模式适用于在多行中同时插入或删除列内容,按住
-
Shift+v
:可视行模式- 用于整行选择。在此模式下移动光标可以选择多行,适合进行整行复制、删除或移动等操作。
搜索命令
/关键字
:向下搜索关键字。n
:跳转到下一个匹配项。N
:跳转到上一个匹配项。
5. 分屏操作
:split filename
:水平分屏打开filename
:vsplit filename
:垂直分屏打开filename
Ctrl+w, w
:在分屏窗口间切换Ctrl+w, q
:关闭当前分屏窗口Ctrl+w, =
:等比调整所有分屏窗口的大小
6. 进阶学习与插件管理
vim
支持丰富的插件系统,可以通过插件实现代码自动补全、Git 集成、文件树管理等功能。- 推荐使用
vim-plug
或Vundle
等插件管理工具,方便地安装和管理插件。 vim
的其他高级功能包括宏录制、正则替换、语法高亮和自定义快捷键,能够进一步提升编辑效率和体验。
通过掌握以上基础命令,可以快速进入 vim
的高效编辑世界。