计算机工具基础(五)——Vim
Vim
MIT《Missing in CS Class(2020):Class 3》笔记
注:
<>
或^
在本文中指Ctrl
,如<c>
或^c
指Ctrl-c
Vim是终端环境中常用的纯文本编辑器。Vim的默认配置文件位于~/.vimrc
模式
Vim有如下5种模式:
- 常规模式(Normal):进入Vim后的默认模式,用于阅读文件。以
Esc
自其他模式中退至此模式 - 插入模式(Insert):用于插入文本,以
i
进入 - 替换模式(Replace):用于替换文本,以
r
进入 - 可视模式(Visual):用于选中文本,与在其他编辑器中按
Shift+方向键
选中文本等效。分为普通可视模式(以字符为单位,以v
进入)、行可视模式(以行为单位,以V
进入)、块可视模式(纵向选择,以<v>
进入)。 - 命令模式(Command):用于执行某些命令,以
:
进入
会话、缓存、标签、窗口
- 会话(Session):保存了vim的完整工作状态,包括缓存、窗口、标签、选项等。
- 缓存(Buffer):缓存是加载进内存中的文件,每个文件对应一个缓存。关闭窗口不会清除缓存。
- 标签(Tab):标签负责组织窗口,每个标签包含独立的窗口布局。类似于桌面操作系统的一个桌面。Vim默认打开一个标签页,仅包含一个窗口。
- 窗口(Window):标签页内的视图,显示缓存内容。一个标签可分割出多个窗口。
命令
以下命令适用于命令模式,不要与常规模式中的操作混淆。
-
q
:退出所在窗口(但不退出缓存)qa
:退出所有窗口(但不退出缓存)
q!
:强制退出所在窗口(在缓存未写入文件的情形下) -
w
:保存缓存内容至文件 -
wq
:保存缓存内容并退出窗口 -
e file_name
:在此窗口覆盖的打开文件file_name
。 -
help command
:查阅command
的帮助手册。注意若为命令,需为:command
。 -
set options
:用于设置选项 -
sp file_name
:水平分割。将file_name
加载进缓存,在同一标签页内,在此窗口的下方分离出新窗口,显示内容为file_name
。若不指定file_name
,则分离当前窗口所显示的缓存。vsp file_name
:垂直分割。将file_name
加载进缓存,在同一标签页内,在此窗口的右方分离出新窗口,显示内容为file_name
。若不指定file_name
,则分离当前窗口所显示的缓存。 -
tabnew file_name
:将file_name
加载进缓存,新建一个tab,显示内容为file_name
。 -
tabn
:切换到下一个(next)标签
tabp
:切换到上一个(previous)标签
快捷键
常规模式
G
:跳到文尾gg
:跳到文首H
:左J
:下K
:上L
:右w
:word,跳至下个词首b
:begin,跳至上个词首e
:end,跳至下个词尾0
:移动至行首$
:移动至行尾^
:移动至本行首个非空字符<f>
:向上翻一页<b>
:向下翻一页<u>
:向上翻半页<d>
:向下翻半页/pattern
:向后匹配模式串pattern
?pattern
:向前匹配字符串pattern
n
:当前匹配方向的下个匹配N
:当前匹配方向的上个匹配u
:撤销<r>
:重做y
:复制(默认复制当前光标字符,可通过进入可视模式选中内容)p
:粘贴
命令模式
<w>+方向键
:切换窗口
格式化代码
常规模式下:gg=G
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具