vim常用命令和配置方法
只读模式转换到输入模式命令
i 在当前光标所在字符的前面
I 在当前光标所在行的行首转换为输入模式
a 在当前光标所在字符的后面
A 在行尾
o 在当前光标所在行的下方,新建一行
O 在当前光标所在行的上方,新建一行
s 删除光标所在字符
S 删除一整行
r 替换光标处字符
跳转
跳转到指定行:命令模式下,行数+G;末行模式:行数+回车
跳转到行首:gg(命令模式)
跳转到行尾:G(命令模式)
自动格式化程序:gg=G(命令模式)
括号跳转 : 左括号位置,按%(命令模式)
删除
x 删除之后不进入工作模式
删除单词:光标放在单词首字母,dw,(命令模式),如果光标放在abcd的b,则删除bcd(注意vim中没有删除的概念,其实是剪切,用p可以粘贴)
光标后面全部删除:D或d$(命令模式)
光标前面全部删除: d0(命令模式)
删除选中的部分:命令模式下 v进入可视模式(类似shift),然后选中按d;V是直接一行
dd 删除光标所在行,删多行就是ndd
复制粘贴
yy 复制光标所在行
nyy 复制光标所在行置向下n行
p P p是复制光标所在行置下一行,P为上一行
移动
hjkl 左下上右
0:光标移动到行首
$:光标移动到行尾
查找
- 命令模式下使用/, 按n进入下一个,N是上一个
- 光标在所在单词(注意是单词)按*,自动下一个,#是上一个
替换
单行替换:将光标放在所在行,进入末行模式 😒 /printf/println
全部替换:末行模式:%s /println/printf/g 不加g就是每行的首个
区域替换:换行模式 页码1,页码2s /原数据/替换数据/g
例如 :1,10s/123/234/g,把1到10行的所有123换成234
末行模式下ctrl p/n可以上下切换,也可以用上下箭头
其他
u:撤销
ctrl+r:反撤销
上下分屏:末行模式下 sp ,q退出分屏
左右分屏:末行模式下 vsp
切换分屏:ctrl+w再按上下左右
看函数的定义(跳转至man手册):命令模式下 K,注意前面要加第几卷,比如printf是3K
查看宏定义:命令模式下 [ + d
+字体变大:ctrl+shift+
字体变小:ctrl+ -
在末行模式使用linux命令:!+命令
vim配置
vim /etc/vim/vimrc
或 ~/.vimrc
功能:
- 按F5可以直接编译并执行C、C++、java代码以及执行shell脚本,按“F8”可进行C、C++代码的调试
- 自动插入文件头 ,新建C、C++源文件时自动插入表头:包括文件名、作者、联系方式、建立时间等,读者可根据需求自行更改
- 映射“Ctrl + A”为全选并复制快捷键,方便复制代码
- 按“F2”可以直接消除代码中的空行
- “F3”可列出当前目录文件,打开树状文件目录
- 支持鼠标选择、方向键移动
- 代码高亮,自动缩进,显示行号,显示状态行
- 按“Ctrl + P”可自动补全
- []、{}、()、""、' '等都自动补全
- 其他功能读者可以研究以下文件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律