【vim】vim命令
Vim的模式
命令模式: 当启动 Vim 编辑器后,默认处在命令模式下。你可以在文件中移动并且修改内容,剪切、复制和粘贴文件的一部分,同时发出命令执行更多操作(按 ESC
键进入命令模式)
插入模式: 插入模式用于在给定的文档位置插入文本(按 i
键进入插入模式)
命令模式下的光标移动
Vim 快捷键允许你使用不同的方式来移动光标:
G
– 跳转到文件最后一行gg
– 跳转到文件首行$
– 跳转到行末尾0
(数字 0) – 跳转到行开头w
– 跳转到下一个单词的开始(单词的分隔符可以是空格或其他符号)W
– 跳转到下一个单词的开始(单词的分隔符只能是空格)b
– 跳转到下一个单词的末尾(单词的分隔符可以是空格或其他符号)B
– 跳转到下一个单词的末尾(单词的分隔符只能是空格)PgDn
键 – 向下移动一页PgUp
键 – 向上移动一页Ctrl+d
– 向下移动半页Ctrl+u
– 向上移动半页
插入模式:插入文字
下面的 Vim 快捷键允许你根据需要在光标的不同位置插入内容。
i
– 在光标之前插入a
– 在光标之后插入I
– 在光标所在行的开头插入。当光标位于行中间时,这个键很有用A
– 在光标所在行的末尾插入。o
– 在光标所在行的下面插入新行O
– 在光标所在行的上面插入新行ea
– 在单词的末尾插入
拷贝、粘贴和删除一行
yy
– 复制一行p
/P
– 将内容粘贴到光标之后 / 之前dd
– 删除一行dw
– 删除一个单词:1,d
- 删除第一行:i,jd
- 删除从i到j行:%d
- 删除所有行
在 Vim 中搜索和替换匹配的模式
/模式
– 向后搜索给定的模式?模式
– 向前搜索给定的模式n
– 向后重复搜索之前给定的模式N
– 向前重复搜索之前给定的模式:%s/旧模式/新模式/g
– 将文件中所有的旧模式替换为新模式:s/旧模式/新模式/g
– 将当前行中所有的旧模式替换为新模式:%s/旧模式/新模式/gc
– 逐个询问是否文件中的旧模式替换为新模式
如何在 Vim 编辑器中跳转到特定行
你可以根据需求以两种方式达到该目的,如果你不知道行号,建议采用第一种方法。
通过打开文件并运行下面的命令来显示行号
:set number
当你设置好显示行号后,按 :n
跳转到相应的行号。例如,如果你想跳转到第 15 行,请输入:
:15
如果你已经知道行号,请使用以下方法在打开文件时直接跳转到相应行。例如,如果在打开文件时直接跳转到 20 行,请输入下面的命令:
vim +20 [文件名]
撤销操作/恢复上一次操作/重复上一次操作
u
– 撤销更改Ctrl+r
– 恢复更改.
– 重复上一条命令
保存和退出 Vim
:w
– 保存更改但不退出 vim:wq
– 写并退出:q!
– 强制退出
格式化文件
<esc> gg=G
indent折叠命令
indent方式,vim会自动利用缩进进行折叠,我们可以使用现成的折叠成果.
我们可以在折叠处输入以下命令:
- zc 折叠
- zC 对所在范围内所有嵌套的折叠点进行折叠
- zo 展开折叠
- zO 对所在范围内所有嵌套的折叠点展开
- [z 到当前打开的折叠的开始处。
- ]z 到当前打开的折叠的末尾处。
- zj 向下移动。到达下一个折叠的开始处。关闭的折叠也被计入。
- zk 向上移动到前一折叠的结束处。关闭的折叠也被计入
十六进制转换
:%!xxd
转为十六进制:%!xxd -r
从十六进制转为正常格式
好学若饥,谦卑若愚
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?