Vim
1.模式
(1)Normal模式
默认/按ESC
i——进入Insert模式,在当前光标所在字符左侧插入
a——进入Insert模式,在当前光标所在字符右侧插入
u——撤销
Ctrl-r——恢复
(2)Visual可视模式
visual——Normal模式下按v,自由选中。按e选中到词尾
visual line——V,行选中
visual block——Ctrl-v,矩形块选中
通过jkhl选中代码行/块后,y为copy,p为paste
缩进——shift+>或<
(3)命令行模式
Normal模式下按:
set number——显示行号
q——退出
w——保存
!——强制
wq——退出保存
wq!——强制退出保存
(4)插入模式
i——光标前插入
a——光标后插入
2. 光标移动
Normal模式下
j——光标向下移动
k——光标向上移动
h——光标向左移动
l——光标向右移动
Ctrl-d——向下翻页
Ctrl-u——向上翻页
num+j——光标往下跳转num行
num+k——光标向上跳转num行
w——下一个word头部
b——上一个word头部
e——下一个word的尾部
- word间——w/b跳转
- word内部——b/e跳转
0——句首
$——句末
3. 拷贝与删除
Normal模式下
yy——复制光标所在整行
y$——复制光标到行尾
dd——剪切/删除光标所在行
d$——剪切光标到行尾,删除光标到行末
num+yy——拷贝包括当前行在内的向下num行
num+dd——剪切包括当前行在内的向下num行
p——将复制/剪切内容黏贴到光标所在行的下一行(整行);黏贴到光标右侧(非整行)
P——黏贴到光标上一行(整行),黏贴到光标左侧(非整行)
dw/de——剪切、删除word在光标之后的内容(dw删除word后的空格,de不删除word后的空格)
ce——删除光标所在word,同时进入Insert模式进行编辑
num+dw——删除包括光标在内的num个word
num+ce——删除包括光标在内的num个word,同时进入Insert模式进行编辑
:50,100t20——将50~100行的代码拷贝copy到20行的下一行
:50,100m20——将50~100行的代码移动move到20行的下一行
4. 多窗口
多文件
:qa——关闭所有窗口
关闭当前窗口——:q
切换窗口——Ctrl-ww(Ctrl-w+jk/hl)
vim -o file1 file2——上下分屏
:sp file2
vim -O file1 file2——左右分屏
:vsp file2
多窗口一个文件
多窗口打开的是同一文件,在任一窗口所做修改都会同步,主要用于查看/修改某文件的不同位置
上下分屏——:sp
左右分屏——:vsp
5. 场景总结
词间跳转
w——右侧词首
b——左侧词首
词内首尾跳转
b——词首
e——词尾
拷贝代码
放到需要拷贝代码的第一个字符,进入visual-mode,选中代码,按下y复制。
若是整行/段代码,按下p,黏贴到光标下行
在括号里插入
在()、[]、{}中插入时,先将左右括号都补全,然后进入normal-mode,按下i光标进入括号中间
删除某行
dd
复制词A替换词B
光标移动到aaa的开头,按 v 按e 按y
光标移动到aaa的开头,按 v 按e 按y
也就说,快速选中一个单词,按v按e即可
删除光标所在词
dw
删除光标所在词然后输入
ce
【推荐】国内首个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%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)