vim基本使用
vim基本使用
使用方法在终端输入vim + (文件),如果文件已经存在,则使用vim打开文件,否则创建一个文件。或者,是输入vim直接进入,再输入:e + 文件名,来打开文件。
进入vim后默认为普通模式,此外还有插入模式,命令行模式,可视模式。
进入其他模式,或者切换模式都需要通过点击esc回到普通模式,再进行切换。
普通模式
普通模式下能够移动光标,删除文本
光标移动
熟练的掌握光标的移动可以大大提高编辑的效率
(1)光标的字符级移动
按键 | 方向 |
---|---|
h,← |
左 |
l,→ |
右 |
j,↓ |
下 |
k,↑ |
上 |
(2)行内移动
按键 | 说明 |
---|---|
w |
右移到下一个单词的开头 |
e |
右移到下一个单词的末尾或本单词的末尾 |
b |
左移到前一个单词的开头或本单词的开头 |
0 |
右移到本行的开始 |
$ |
右移到本行的末尾 |
^ |
左移到本行的第一个非空字符 |
0一般行开头有关,$一般和行末有关,后面与行开头与末尾相关的操作一般会用到他们。
(3)页级移动
按键 | 说明 |
---|---|
crtl +f ,pigup |
前移一页 |
crtl +b ,pgdn |
后移一页 |
(4)页内移动
按键 | 说明 |
---|---|
H |
将光标移到该页的起始行 |
M |
将光标移到该页的中间行 |
L |
将光标移到该页的末尾行 |
(5)大范围移动
按键 | 说明 |
---|---|
* |
将光标移到该单词的下一个位置 |
# |
将光标移到该单词的上一个位置 |
gg |
将光标移到文件的第一行 |
G |
将光标移到文件的末尾行 |
nG |
将光标移到文件的第n行 |
文档编辑
(1)搜索
指令 | 说明 |
---|---|
/ +str |
向下搜索字符串str |
n |
继续搜索该字符 |
N |
反向搜索该字符串 |
? +str |
反向搜索字符串str |
当反向搜索时,输入n为向文本上方搜索,N为向下搜索。
(2)替换
替换输入命令时会自动进入插入模式。
指令 | 说明 |
---|---|
s |
用输入的正文替换游标所在的字符 |
ns |
用输入的正文替换游标右侧n 个字符 |
c$ |
用输入的正文替换从游标开始到行尾的所有字符 |
c0 |
用输入的正文替换从本行开始到游标的所有字符 |
输入替换指令时会自动删除指令所替换的内容。
(3)删除
指令 | 说明 |
---|---|
x或delete | 删除游标所在的字符 |
X | 删除游标所在前一个字符 |
dw | 删除游标右的单词 |
dd | 删除游标所在行 |
d0 | 删除光标到行的开始 |
d$ | 删除光标到行的末尾 |
单个字符用x,X,多个字符用d。
(4)复制,粘贴,剪切
指令 | 说明 |
---|---|
yy | 复制游标所在行到缓冲区 |
nyy | 复制n 行到缓冲区 |
v + 光标移动 + y | 复制选中的字符 |
p(小写) | 在光标位置之后粘贴 |
P(大写) | 在光标位置之前粘贴 |
v + 光标移动 + d | 剪切选中的字符 |
(5)撤销
指令 | 说明 |
---|---|
u |
撤销上次操作 |
输入u可以撤销上次操作,相当与许多编辑器下的ctrl+z。
插入模式
也就是编辑模式,进入的方法有很多:
指令 | 说明 |
---|---|
i |
在游标处插入 |
I |
在行首插入 |
a |
在游标右侧插入 |
A |
在行末插入 |
o |
在当前行后添加一行插入 |
O |
在当前行前添加一行插入 |
而插入模式中几乎除了esc和方向键都可以输入,所以插入模式的光标移动较不方便,一般使用普通模式移动光标。
输入esc或ctrl+[退出插入模式。
命令行模式
(1)进入及打开文件
输入:进入命令行模式,在未打开文件时,可以输入在命令行模式中输入e +文件名来打开文件。
(2)保存及退出
指令 | 作用 |
---|---|
w | 保存文件 |
q | 退出 |
q! | 强制退出,不保存修改内容 |
wq | 保存并退出 |
可视模式
输入v,V或ctrl+v即可进入。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统