Karp 的技术博客

作为一名后端码农,常用的 vim 快捷键,你了解多少呢?

photo_2024-03-05 10.23.14.jpeg

移动光标

1、 左移h,右移l,下移j,上移k
2、 向下翻页Ctrl + f,向上翻页Ctrl + b
3、 向下翻半页Ctrl + d,向上翻半页Ctrl + u
4、 移动到行尾$,移动到行首0(数字),移动到行首第一个字符处^
5、 移动光标到下一个句子),移动光标到上一个句子(
6、 移动到段首{,移动到段尾}
7、 移动到下一个词w,移动到上一个词b
8、 移动到文档开始gg,移动到文档结束G
9、 移动到匹配的{}()[]%
10、 跳到第n行nggnG:n
11、 移动光标到屏幕顶端H,移动到屏幕中间M,移动到底部L
12、 读取当前字符,并移动到本屏幕内下一次出现的地方*
13、 读取当前字符,并移动到本屏幕内上一次出现的地方#


查找替换

1、 光标向后查找关键字#或者g#
2、 光标向前查找关键字*或者g*
3、 当前行查找字符fx/Fx/tx/Tx
4、 基本替换:s/s1/s2(将下一个s1替换为s2
5、 全部替换:%s/s1/s2
6、 只替换当前行 :s/s1/s2/g
7、 替换某些行 :n1,n2 s/s1/s2/g
8、 搜索模式为/string,搜索下一处为n,搜索上一处为N
9、 指定书签mx,但是看不到书签标记,而且只能用小写字母
10、 移动到某标签处x
11、 移动到上次编辑文件的位置 .

. 代表一个任意字符
* 代表一个或多个字符的重复

编辑操作

1、 光标后插入a,行尾插入A
2、 后插一行插入o,前插一行插入O
3、 删除字符插入s,删除整行插入S
4、 光标前插入i,行首插入I
5、 删除一行dd,删除后进入插入模式cc或者S
6、 删除一个单词dw,删除一个单词进入插入模式cw
7、 删除一个字符x或者dl,删除一个字符进入插入模式s或者cl
8、 粘贴p,交换两个字符xp,交换两行ddp
9、 复制y,复制一行yy
10、 撤销u,重做Ctrl + r,重复上一次命令.
11、 智能提示Ctrl + n或者Ctrl + p
12、 删除motion跨过的字符,删除并进入插入模式c{motion}
13、 删除到下一个字符跨过的字符,删除并进入插入模式,不包括x字符ctx
14、 删除当前字符到下一个字符处的所有字符,并进入插入模式,包括x字符cfx
15、 删除motion跨过的字符,删除但不进入插入模式d{motion}
16、 删除motion跨过的字符,删除但不进入插入模式,不包括x字符dtx
17、 删除当前字符到下一个字符处的所有字符,包括x字符dfx
18、 如果只是复制的情况时,将12-17条中的cd改为y
19、 删除到行尾可以使用DC
20、 拷贝当前行yy或者Y
21、 删除当前字符x
22、 粘贴p
23、 可以使用多重剪贴板,查看状态使用:reg,使用剪贴板使用",例如复制到w寄存器,"wyy或者使用可视模式v"wy
24、 重复执行上一个操作使用.
25、 使用数字可以跨过n个区域,如y3x,会拷贝光标到第三个x之间的区域,3j向下移动3行
26、 在编写代码的时候可以使用]p粘贴,这样可以自动进行代码缩进
27、 >>缩进所有选择的代码
28、 <<反缩进所有选择的代码
29、 gd移动到光标所处的函数或变量的定义处
30、 K在man里搜索光标所在的词
31、 合并两行J
32、 若不想保存文件,而重新打开:e!

33、 若想打开新文件:e filename,然后使用Ctrl + ^进行文件切换

窗口操作

1、 分割一个窗口:使用命令split或者:vsplit,可以在水平或垂直方向上分割窗口。
2、 创建一个窗口:使用命令new或者:vnew,可以创建一个新的空白窗口。
3、 在新窗口打开文件:使用命令sf {filename},可以在新窗口中打开指定的文件。
4、 关闭当前窗口:使用命令close,可以关闭当前的活动窗口。
5、 仅保留当前窗口:使用命令only,可以关闭除了当前窗口之外的所有其他窗口,只保留当前窗口。
6、 切换到左边窗口:使用组合键Ctrl + w, h,可以切换到左边的窗口。
7、 切换到右边窗口:使用组合键Ctrl + w, l,可以切换到右边的窗口。
8、 切换到上边窗口:使用组合键Ctrl + w, k,可以切换到上边的窗口。
9、 切换到下边窗口:使用组合键Ctrl + w, j,可以切换到下边的窗口。
10、 切换到顶部窗口:使用组合键Ctrl + w, t,可以切换到最上方的窗口。
11、 切换到底部窗口:使用组合键Ctrl + w, b,可以切换到最下方的窗口。


宏操作

1、开始记录宏操作q[a-z],按q结束,保存操作到寄存器[a-z]中
2、@[a-z]执行寄存器[a-z]中的操作

3、@@执行最近一次记录的宏操作

可视操作

1、进入块可视模式ctrl + v
2、进入字符可视模式v
3、进入行可视模式V
4、删除选定的块d
5、删除选定的块然后进入插入模式c

6、在选中的块同是插入相同的字符I<String>ESC

跳到声明

1、[[:向前跳到顶格的第一个{
2、[]:向前跳到顶格的第一个}
3、]]:向后跳到顶格的第一个{
4、][:向后跳到顶格的第一个}
5、[{:跳到当前代码块的开头。

6、]}:跳到当前代码块的结尾。

挂起操作

1、挂起 Vim:使用组合键 Ctrl + z 或者执行命令 :suspend,可以将 Vim 挂起,返回到终端或 shell。
2、查看任务:在 shell 中输入命令 jobs,可以查看当前正在运行或挂起的任务。
3、恢复任务:使用命令 fg [job number] 将后台程序放到前台运行,或者使用命令 bg [job number] 将前台程序放到后台运行。
4、执行 shell 命令:使用命令 :!command,可以在 Vim 中执行 shell 命令,command 是要执行的命令。
5、开启 shell:使用命令 :shell,可以在 Vim 中开启一个新的 shell,可以在其中执行其他命令。要退出该 shell,可以输入 exit
6、保存 Vim 状态:使用命令 :mksession name.vim,可以将当前 Vim 状态保存到名为 name.vim 的会话文件中。
7、恢复 Vim 状态:使用命令 :source name.vim,可以从会话文件 name.vim 中恢复 Vim 的状态。
8、启动 Vim 时恢复状态:使用命令 vim -S name.vim,可以启动 Vim 并从会话文件 name.vim 中恢复状态。

来一张键位图,好好学习。
photo_2024-03-05 10.23.16.jpeg

vim

版权属于:karp
作品采用:本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
更新于: 2016年03月10日 04:35
2

目录

来自 《Vim快捷键整理》